如何从Json对象Android获取单个字符串值?

时间:2013-09-20 18:31:51

标签: android json

我有这个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();
        }

2 个答案:

答案 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方法随意解析块要好得多。另外,你会得到一个很好的对象来传递并使用面向对象的代码。