【问题标题】:How to parse with GSON when identifier has space in name当标识符名称中有空格时如何使用 GSON 解析
【发布时间】:2011-08-05 23:15:12
【问题描述】:

当文件看起来像这样时如何使用 GSON 进行解析

{
    "Person Id":"test",
    "Last Name": "test",
    "First Name":"test"
}

我知道在名称之间没有空格时进行解析,我创建了类似

的类
class Person{
public String PersonId;
public String LastName;
public String FirstName;
}

但是当标识符内部有空间时如何解析?在 Person 类中要改变什么? (我无法更改文件格式)。

【问题讨论】:

标签: java android json gso


【解决方案1】:

在仍然使用 GSON 时,您可以通过添加注释来做到这一点。例如:

class Person{
    @SerializedName("Person Id") public String PersonId;
    @SerializedName("Last Name") public String LastName;
    @SerializedName("First Name") public String FirstName;
}

您可以在 GSON 文档中找到更多详细信息: https://sites.google.com/site/gson/gson-user-guide#TOC-JSON-Field-Naming-Support

【讨论】:

    【解决方案2】:

    我试图解析这个 JSON,但我没有使用 GSON 来解析它。我将与您分享我的代码,请考虑仅作为解决问题的补充解决方案:

    String parse = "{\"Person Id\":\"test\",\"Last Name\": \"lname\",\"First Name\":\"fname\"}";
    try {
        JSONObject jsonObject   =   new JSONObject(parse);
        String id = jsonObject.getString("Person Id");
        System.out.println("id="+id);
        System.out.println("lname="+jsonObject.getString("Last Name"));
        System.out.println("fname="+jsonObject.getString("First Name"));
    } catch (JSONException e) {
        e.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多