如何使用Flexjson JSONDeserializer?
作者:互联网
我有一个字符串:
[{"product_id":"2","name":'stack"'},{"product_id":"2","name":"overflow"}]"
如何使用Flexjson的JSONDeserializer从上面的字符串中获取所有product_id?
我有一个名为productinformation的类,其中包含product_id和name等字段.
解决方法:
您可以使用JSONDeserializer.use()方法告诉它如何反序列化数组和数组中的每个对象,在本例中为ProductInformation类. product_id属性与flexjson期望的标准命名不匹配,因此对象上的属性需要在其中包含下划线.
String products= "[{\"product_id\": \"123\",\"name\":\"stack\"},{\"product_id\": \"456\",\"name\":\"overflow\"}]";
List<ProductInformation> productInfoList = new JSONDeserializer<List<ProductInformation> >()
.use(null, ArrayList.class)
.use("values",ProductInformation.class)
.deserialize(products);
for(ProductInformation productInformation : productInfoList){
System.out.println(productInformation.getProduct_id();
}
Deserialization section of the docs中“没有训练轮的反序列化”部分详细介绍了其他情况,如果类型信息未包含在JSON字符串中则需要考虑.
标签:java,json,deserialization,flexjson 来源: https://codeday.me/bug/20191007/1866727.html