1

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

2 回答 2

2

您的声明不是有效的 json。这是有效 json 的示例。

{\"name\":\"Adam Schmidt\", \"id\":43} 

更新:对于数值,没有引号

于 2013-09-20T18:36:44.880 回答
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这比在代码中使用各种方法随意解析块要好得多。另外,您还可以在面向对象的代码中传递和使用一个不错的对象。

于 2013-09-20T23:53:40.780 回答