我有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