类:
public class MyList {
public int type;
public String text;
public boolean[] arr;
public MyList(int type, String text) {
this.type = type;
this.text = text;
switch (type) {
case 0:
arr = new boolean[5];
break;
case 1:
arr = new boolean[10];
break;
}
}
}
JSON数据:
{“列表”:[{“类型”:0,“文本”:“文本1”},{“类型”:1,“问题”:“文本2”}]}
ArrayList<MyList> getList(){
Gson gson = new Gson();
MyListsArray mLists = gson.fromJson(bufferString, MyListsArray.class);
return mLists.list;
}
类来保存列表项:
public class MyListsArray {
public ArrayList<MyList> list;
}
一切顺利,我为JSON字符串中的type和text获得了正确的值。但逮捕仍为空。
您可以启动Json字符串中不存在的数据,如下所示编写CustomDeserializer
class CustomDeserializer implements JsonDeserializer<List<MyList>> {
@Override
public List<MyList> deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context) throws JsonParseException {
JsonArray jsonArray = jsonElement.getAsJsonObject().getAsJsonArray("list");
List<MyList> list=new ArrayList<>(30);
Gson gson = new Gson();
for (JsonElement element : jsonArray) {
MyList ob = gson.fromJson(element, MyList.class);
switch (Integer.valueOf(ob.type)) {
case 0:
ob.arr = new boolean[5];
break;
case 1:
ob.arr = new boolean[10];
break;
}
list.add(ob);
}
return list;
}
最后解析它
Type typeOf = new TypeToken <List<MyList>>(){}.getType();
Gson gson = new GsonBuilder().registerTypeAdapter(typeOf, new CustomDeserializer()).create();
List<MyList> list = gson.fromJson(builder.toString(),typeOf);
Gson文档说,如果您的类没有一个无参数构造函数,并且您没有注册任何InstanceCreater对象,那么它将使用UnsafeAllocator创建一个ObjectConstructor(它构造您的对象),该UnsafeAllocator使用反射获得类Sun.Misc.Unsafe的allocateInstance方法来创建您的类的实例。
yourClassType.getDeclaredConstructor(); // ie. empty, no-args
我正在尝试将上面的JSON解析为数据结构。我最初使用Gson,但大多数解决方案建议创建一个反映我的Gson结构的类结构并使用fromJson(String, Class),但我不想这样做,因为JSON的结构可能会改变,我不想每次都格式化我的类。
问题内容: 我正在尝试解析一个包含JSON数据的文件: 由于这是带有动态键的JSON数组,因此我认为我可以使用: 但是,我无法使用来解析文件: 将包含JSON数据的文件解析为Go结构的最简单方法是将数组(仅字符串类型转换为字符串类型)? 编辑: 要进一步详细说明可接受的答案-的确,我的JSON是地图数组。为了使我的代码正常工作,该文件应包含: 然后可以将其读入 问题答案: 这是因为您的json实际
问题内容: 我正在使用Weather Underground API制作应用程序,但在解析与严重警报有关的代码块时遇到了麻烦。JSON使用具有子键值对的键值对- 这对我来说不是问题,因为我可以从中选出后续的NSDictionary-但严重警报的条目被证明是有问题的。见下文: “警报”对与我已经解析的其他对有所不同,因为它在子值周围有这个 []括号 ,而且我不确定如何清除它,以便可以访问子值。在我能
问题内容: 我在MongoDB中的规范化数据模型结构中遇到以下错误: 这是由于以下原因造成的: 具体的部分。我的文档中有一个DBRef对象,因此我可以引用另一个集合中的文档。嵌入式文档结构不是选项。那么我该如何解决呢? 问题答案: 您必须为其导入DBRef编解码器才能进行打印,如果您希望以文档json样式进行打印,则需要编写自己的DBRef编解码器,并将其添加到您给toJson()的编解码器中。
问题内容: 我有一个XML文件,例如 如何将其解析为JSON结构文件? 问题答案: 对于一个简单的解决方案,我建议使用Jackson库,它是一个Java库,用于生成和读取带有XML扩展名的JSON,因为它只需几行简单的代码就可以将任意复杂的XML转换为JSON。 input.xml Java代码: 该演示使用Jackson 1.7.7 (较新的1.7.8也可以使用),Jackson XML Dat
我正在尝试使用jQuery将此对象转换为数组 我试图得到这样的数组输出: 怎样?