How to use Flexjson JSONDeserializer?

后端 未结 1 1608
别跟我提以往
别跟我提以往 2021-01-07 10:25

I have a string:

 [{\"product_id\":\"2\",\"name\":\'stack\"\'},{\"product_id\":\"2\",\"name\":\"overflow\"}]\"

How can I use Flexjson\'s JS

相关标签:
1条回答
  • 2021-01-07 11:14

    You could use the JSONDeserializer.use() methods to tell it how to deserialize the array and each object in the array, in this case of class ProductInformation . The product_id attribute does not match up with the standard naming that flexjson expects, so your properties on the object will need to have an underscore in them.

    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();
    }
    

    The section on "Deserialization Without the Training Wheels" in Deserialization section of the docs goes into additional details on the other cases to consider if the type information is not included in the JSON string.

    0 讨论(0)
提交回复
热议问题