0

我有 ASP.NET 网络服务,它以 JSON 格式返回 Person 对象。请参阅以下 Web 服务代码:

[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 中获取值“name”和“lastname”。任何帮助appriciated。

4

2 回答 2

1

" " 创建的 JSON 对象result很可能是父JSON对象,而"name"在嵌套的 JSON 对象中。试试json.getObject("d").getString("name")

于 2013-08-19T21:05:15.120 回答
0

您可以使用 GSON 轻松解析 json 数据

gson 下载

于 2013-08-20T00:37:58.900 回答