使用JSONObject将json文件转化成对象
来源:互联网 发布:手机购买火车票软件 编辑:程序博客网 时间:2024/06/08 18:48
使用JSONObject将json文件转化为对象,最主要的步骤就是:
1.将json文件转化为字符串,这里用到了文件流的读取
2.引入json-lib包,调用里面的方法。
比较简单,只当做一个记录
1.贴出test1.js文件
{ "province":[{"cityId":18,"cityName":"西安"},{"cityId":53,"cityName":"广州"}]}
2.贴出实体类文件
public class Province { private String cityId; private String cityName; public String getCityId() { return cityId; } public void setCityId(String cityId) { this.cityId = cityId; } public String getCityName() { return cityName; } public void setCityName(String cityName) { this.cityName = cityName; } @Override public String toString() { return "Province{" + "cityId='" + cityId + '\'' + ", cityName='" + cityName + '\'' + '}'; }}
下面是主要的方法
public class Main { public static void main(String[] args)throws Exception { String s = fileRead(); JSONObject jsonObject = new JSONObject().fromObject(s); List<Map<String, Object>> provinceList = JsonParseUtils.toList(jsonObject.get("province")); ArrayList<Province> provinces = new ArrayList<>(); for (Map<String, Object> stringObjectMap : provinceList) { Province province = new Province(); province.setCityId(stringObjectMap.get("cityId").toString()); province.setCityName(stringObjectMap.get("cityName").toString()); provinces.add(province); } for (Province province : provinces) { System.out.println(province); } } public static String fileRead() throws Exception { File file = new File("test.json");//定义一个file对象,用来初始化FileReader FileReader reader = new FileReader(file);//定义一个fileReader对象,用来初始化BufferedReader BufferedReader bReader = new BufferedReader(reader);//new一个BufferedReader对象,将文件内容读取到缓存 StringBuilder sb = new StringBuilder();//定义一个字符串缓存,将字符串存放缓存中 String s = ""; while ((s =bReader.readLine()) != null) {//逐行读取文件内容,不读取换行符和末尾的空格 sb.append(s + "\n");//将读取的字符串添加换行符后累加存放在缓存中 System.out.println(s); } bReader.close(); String str = sb.toString(); System.out.println(str ); return str; }使用JsonParseUtils调用的方法为:
/*** * 将对象转换为List> * @param object * @return */// 返回非实体类型(Map)的Listpublic static List<Map<String, Object>> toList(Object object){ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); JSONArray jsonArray = JSONArray.fromObject(object); for (Object obj : jsonArray) { JSONObject jsonObject = (JSONObject) obj; Map<String, Object> map = new HashMap<String, Object>(); Iterator it = jsonObject.keys(); while (it.hasNext()) { String key = (String) it.next(); Object value = jsonObject.get(key); map.put((String) key, value); } list.add(map); } return list;}
这里我就不做过多的说明了,总之思路就是:new一个JsonObject对象,将读取的文件流String转化为jJSONObject,然后new一个JSONArray对象,将object转化为数组对象,将数组以键值对的方式放在map中,然后将map设置到对象中。
so easy!!!
阅读全文
0 0
- 使用JSONObject将json文件转化成对象
- JSONObject将Json转换成对象时无法转换json数据字段
- groovy 把json串转化成对象
- JSON字符串如何转化成对象?
- 将url字符串,转化成对象
- 将JSON数据转换成对象
- JS-将json格式转换成对象
- 使用XStream将XML转化成对象,忽略没有关联的属性
- 如何将PHP的数组转化成对象
- 如何将PHP的数组转化成对象
- 一个通用的方法(将数据库记录转化成对象)
- 如何将PHP的数组转化成对象
- 将json数据映射成对象的处理办法
- Action Script读取JSON文件并转换成对象方法
- fastJSON使用(二)——json转换成对象
- json对象转换成对象
- JSON数据转换成对象
- json字符串转换成对象
- Python实现八皇后
- 关于input文本框,设置为readonly后,onchage事件无响应处理方案
- 【二分优化】Preparing for Merge Sort CodeForces
- 1043. 输出PATest(20)--Python
- spring中IOC容器创建对象,对象依赖关系处理
- 使用JSONObject将json文件转化成对象
- php使用kibana实例1-----查询数据
- Nginx之虚拟服务器配置
- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:con
- 高mysql千万级大数据SQL查询优化几条经验
- 聊聊Hadoop:图解HDFS是个啥
- 各种类型文件的Content Type
- MD5和SHA-1
- HTML5-表单新增元素和属性