JSONArray与Java对象之间的转换

通过接口调用或者配置文件,我们拿到了为json形式的字符串;其中已数组形式保存了同一类型的多个对象;

我们要将其转换为Llst形式的java对象集合;

直接上代码:

首先是要保存的数据对象;

@Data //该注解提供get/set方法,lombok插件
public class PlatformModel {
    private String id;
    private String name;
    private String platcode;
}
要转换的json字符串:

String platform=

"[
{"id": "0","name": "津贵所","platcode": "tjpme"},
{"id": "1",name: "齐鲁商品","platcode": "qiluce"},
{"id": "2",name: "广交所","platcode": "sxbrme"},
{"id": "3",name: "一带一路","platcode": "gdpmec"}
]";

下面以转换为HashMap为例子来说明转换;

首先定义存储集合的HashMap;

//其中key为id,值为对象自己

private  Map platformMap=new HashMap<>(); 
其次是转换方法:
 
  
private void getPlatformMap(){
    JSONArray platformList = JSON.parseArray(platforms);


    for (Object jsonObject : platformList
            ) {
        PlatformModel platformModel = JSONObject.parseObject(jsonObject.toString(), PlatformModel.class);
        platformMap.put(platformModel.getId(), platformModel);
    }
};
执行上述方法即可转换字符窜为java对象集合;
如果不想要HashMap,而是要ArrayList集合来存储;
则定义存储集合的ArrayList;
 
  
private  
ArrayList platformList=new ArrayList<>(); 

private void getPlatformList(){
    JSONArray platformList = JSON.parseArray(platforms);


    for (Object jsonObject : platformList
            ) {
        PlatformModel platformModel = JSONObject.parseObject(jsonObject.toString(), PlatformModel.class);
        platformList.put(platformModel);
    }
}
大功告成;
如此就转换结束了。

 
  
 
  
 
  

你可能感兴趣的:(学习)