JSONArray与Java对象之间的转换

来源:互联网 发布:高端 商务礼品 知乎 编辑:程序博客网 时间:2024/05/22 04:30

通过接口调用或者配置文件,我们拿到了为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<String,PlatformModel> 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<PlatformModel> 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);    }}
大功告成;
如此就转换结束了。


0 0