我正在尝试解析这个数组:
[{"style_image":"","count":5,"color":"red","ClusterName":"cluster1","CID":"[98,99,96,16,95]"},
{"style_image":"","count":1,"color":"red","ClusterName":"cluster2","CID":"[91]"}]
我正在使用"CID":"[98,99,96,16,95]"
对象。如果我的对象看起来像这样,我会得到JsonParseException
例外:
@SerializedName("ClusterName")
private String name;
private String color;
@SerializedName("CID")
private List<Integer> levelOneIDs;
private int count;
private String style_image;
或者这个:
@SerializedName("ClusterName")
private String name;
private String color;
@SerializedName("CID")
private int[] levelOneIDs;
private int count;
private String style_image;
如何使用对象中的整数数组解析对象?这似乎很容易,但我不知道该怎么做。
答案 0 :(得分:1)
问题是"[98,99,96,16,95]"
不是JSON数组 - 它是一个字符串(注意数组周围的引号)。
这将正确解析:
@SerializedName("CID")
private String levelOneIDs;
但是,这显然不会为您提供您正在寻找的整数列表。您可以让GSON解析其余的JSON并自己处理解析该字段,或者您可以等待GSON将其解析为字符串,然后自己用整数填充第二个字段。
如果您对使用的API如何生成此JSON有任何意见,则应更新它以输出正确的JSON数组。