[英]Extract string from http response in java client
我想提取Java客戶端中從Java Web服務返回的字符串。 從Java Web服務返回的字符串如下:
{"Name":"Raj Johri","Email":"mailraj@server.com","status":true}
這是Json字符串格式。 我已編寫客戶端代碼來提取此字符串,如下所示:
public static void main(String[] args) throws Exception{
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost("http://localhost:8080/JsonWebService/services/JsonWebService/getData");
post.setHeader("Content-Type", "application/xml");
HttpResponse httpres = httpClient.execute(post);
HttpEntity entity = httpres.getEntity();
String json = EntityUtils.toString(entity).toString();
System.out.println("json:" + json);
}
我在json的控制台上得到以下打印為:
json:<ns:getDataResponse xmlns:ns="http://ws.jsonweb.com"><ns:return>{"Name":"Raj Johri","Email":"mailraj@server.com","status":true}</ns:return></ns:getDataResponse>
請告訴我如何提取字符串
{"Name":"Raj Johri","Email":"mailraj@server.com","status":true}
這是實際的消息。 提前致謝...
好吧,響應是xml的類型,並且您的json在<ns:return>
節點中 ,所以我建議您輸入xml結果的深度,然后從<ns:return>
節點獲取您的json。
注意:我建議您嘗試指定需要將響應作為JSON類型 :
post.setHeader("Content-type", "application/json");
post.setHeader("Accept", "application/json");
如果您每次都獲取相同的XML,則有一種骯臟的方法(除了xml解析方法外)可以使用split()
String parts[] = json.split("<ns:return>");
parts = parts[1].split("</ns:return>");
String jsonPart = parts[0];
現在jsonPart
應該只包含{"Name":"Raj Johri","Email":"mailraj@server.com","status":true}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.