0

我正在尝试解析以下 json 文件。

"ItemData" : [{
        "-item" : "A",
        "id" : "100",
        "name" : "abc",
        "description" : "abcd",
        "category" : "xyz",
    }
]

我能够解析除第一个字段之外的所有内容。这是因为开头的“-”字符。我尝试在我的 POJO 文件中使用 @SerializedName("-item") 。但不起作用。

谁能告诉我如何解析这个字段?

4

1 回答 1

1

我不确定您的代码是什么样的,但@SerializedName("-item")对我来说似乎工作正常

class Data {
    private List<ItemData> ItemData = new ArrayList<ItemData>();

    @Override
    public String toString() {
        return "Data [ItemData=" + ItemData + "]";
    }
}

class ItemData {

    @SerializedName("-item")
    private String _item;

    private String id;
    private String name;
    private String description;
    private String category;

    @Override
    public String toString() {
        return "ItemData [_item=" + _item + ", id=" + id + ", name=" + name
                + ", description=" + description + ", category=" + category
                + "]";
    }
}

用法

Gson gson = new Gson();

String jsonString = "{\r\n" + " \"ItemData\" : [{\r\n"
        + "         \"-item\" : \"A\",\r\n" + "         \"id\" : \"100\",\r\n"
        + "         \"name\" : \"abc\",\r\n"
        + "         \"description\" : \"abcd\",\r\n"
        + "         \"category\" : \"xyz\"\r\n" + "     }\r\n" + "  ]\r\n"
        + "}\r\n";

Data item = gson.fromJson(jsonString, Data.class);
System.out.println(item);

输出

Data [ItemData=[ItemData [_item=A, id=100, name=abc, description=abcd, category=xyz]]]
                          ^^^^^^^
于 2013-11-10T01:20:43.243 回答