我有这个Json声明:
{name=Adam Schmidt, id=43}
我要提取名称的值, 尝试此代码,但它无法正常工作
// parse json data
try {
JSONObject userObject = new JSONObject(result);
userName = userObject.getString("name");
tvName.setText(userName);
} catch (Exception ex) {
ex.printStackTrace();
}
答案 0 :(得分:2)
你的陈述无效json。这是有效json的样本。
{\"name\":\"Adam Schmidt\", \"id\":43}
更新: 对于数字值,没有引号
答案 1 :(得分:0)
使用GSON。超级容易。
声明一个代表您的JSON结构的类:
public class Person {
private String name;
private int id;
public String getName() {
return name;
}
public int getId() {
return id;
}
}
然后你可以这样做:
String json = "{\"name\":\"Adam Schmidt\", \"id\":43}";
String userName = new Gson().fromJson(json, Person.class).getName();
tvName.setText(userName);
这比在代码中使用各种get
方法随意解析块要好得多。另外,你会得到一个很好的对象来传递并使用面向对象的代码。