Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Flexjson将JSON列表反序列化为对象列表_Java_Json_Serialization_Flexjson - Fatal编程技术网

Java 使用Flexjson将JSON列表反序列化为对象列表

Java 使用Flexjson将JSON列表反序列化为对象列表,java,json,serialization,flexjson,Java,Json,Serialization,Flexjson,我正在尝试反序列化以下json: {“books”:[{“id”:“1”,“name”:“book1”},{“id”:“2”,“name”:“book2”}]} 进入一个列表。它以前使用过这个json: [{“id”:“1”,“name”:“book 1”},{“id”:“2”,“name”:“book 2”}]} 使用此代码: List items=new JSONDeserializer() .use(“values”,Book.class.)。反序列化(json,ArrayList.c

我正在尝试反序列化以下json:

{“books”:[{“id”:“1”,“name”:“book1”},{“id”:“2”,“name”:“book2”}]}
进入一个列表。它以前使用过这个json:

[{“id”:“1”,“name”:“book 1”},{“id”:“2”,“name”:“book 2”}]}
使用此代码:

List items=new JSONDeserializer()
.use(“values”,Book.class.)。反序列化(json,ArrayList.class);

但是现在,在看了多个示例之后,我不知所措,是否可以直接反序列化到列表中?

试试这个。它和我一起工作

JavaScriptSerializer jss = new JavaScriptSerializer();

List<Book> lstBook = jss.Deserialize<List<Book>>("your string");
JavaScriptSerializer jss=new JavaScriptSerializer();
List lstBook=jss.Deserialize(“您的字符串”);

试试这个。它和我一起工作

JavaScriptSerializer jss = new JavaScriptSerializer();

List<Book> lstBook = jss.Deserialize<List<Book>>("your string");
JavaScriptSerializer jss=new JavaScriptSerializer();
List lstBook=jss.Deserialize(“您的字符串”);

好的,我想我找到了一个可以接受的解决方案,尽管我不知道它有多最优

List items=new JSONDeserializer()。
使用(“values.values”,Book.class);

将生成一个书籍列表。如果有人有更“合适”的解决方案,请随意评论。

好的,我想我找到了一个可以接受的解决方案,尽管我不知道它有多理想

List items=new JSONDeserializer()。
使用(“values.values”,Book.class);

将生成一个书籍列表。如果有人可能有更“合适”的解决方案,请随意评论。

从@vikke获取样本,我成功地应用了long列表的反序列化

List<Long> idsLong = new JSONDeserializer<List<Long>>().use("values", Long.class).deserialize("[123,456,789]");
List idsLong=new JSONDeserializer()。使用(“value”,Long.class)。反序列化(“[123456789]”);

从@vikke I获取样本成功地应用了long列表的反序列化

List<Long> idsLong = new JSONDeserializer<List<Long>>().use("values", Long.class).deserialize("[123,456,789]");
List idsLong=new JSONDeserializer()。使用(“value”,Long.class)。反序列化(“[123456789]”);

在下面的flexjson 1.9.2下

List List=new JSONDeserializer>()。使用(null,ArrayList.class)。使用(“值”,Long.class)。反序列化(eposodeid);
系统输出打印项次(列表)

在下面的flexjson 1.9.2中

List List=new JSONDeserializer>()。使用(null,ArrayList.class)。使用(“值”,Long.class)。反序列化(eposodeid); 系统输出打印项次(列表)

JavaScriptSerializer不是一个C类吗?如果它对Java可用,我需要导入什么库?是的,它是一个C#类,对于Java,请尝试以下链接。我还没有测试过它,但它似乎可以工作。JavaScriptSerializer不是一个C类吗?如果它对Java可用,我需要导入什么库?是的,它是一个C#类,对于Java,请尝试以下链接。我还没有测试它,但似乎它会工作。