我有ASP.NET webservice,它以JSON格式返回Person對象。請看下面的web服務代碼:如何在android中解析這個JSON(從.NET webservice返回)
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Person person() {
Person me = new Person();
me.name = "Mark";
me.lastname = "Brawn";
return me;
}
public class Person {
public String name;
public String lastname;
}
然後我試圖解析在Android客戶端這種答覆,我獲得以下JSON輸出:
{
"d": {
"__type": "WebService+Person",
"name": "Mark",
"lastname": "Brawn"
}
}
此輸出似乎有效的JSON格式,但我想知道如何從這個輸出(姓名,姓氏)正確獲取屬性。
在Android中我分析這個輸出:
JSONObject json = new JSONObject(result);
json.getString("name");
但我得到一個異常:
07-12 19:07:14.708: W/System.err(21575): org.json.JSONException: No value for name
所以其實我想得值「名」,並從這個「姓」 JSON。任何幫助appriciated。
其實它的工作原理:)。但我很困惑。爲什麼ASP.NET webservice返回這種JSON?爲什麼不只是「姓名」和「姓氏」屬性? – rootpanthera
不確定,這是創建ASP.NET Web服務的開發人員的問題。請接受除了upvote之外的答案。 – Quadddd
奇怪。因爲我在Android中看到了很多關於解析JSON的示例代碼,但是我從來沒有見過類似於我的輸出(以及類似於你的解決方案)。但是好的,至少它是有效的。謝謝! – rootpanthera