使用JSONObject将json文件转化成对象
2017-11-27 09:44
501 查看
使用JSONObject将json文件转化为对象,最主要的步骤就是:
1.将json文件转化为字符串,这里用到了文件流的读取
2.引入json-lib包,调用里面的方法。
比较简单,只当做一个记录
1.贴出test1.js文件
2.贴出实体类文件
下面是主要的方法
使用JsonParseUtils调用的方法为:
这里我就不做过多的说明了,总之思路就是:new一个JsonObject对象,将读取的文件流String转化为jJSONObject,然后new一个JSONArray对象,将object转化为数组对象,将数组以键值对的方式放在map中,然后将map设置到对象中。
so easy!!!
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)的List public 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!!!
相关文章推荐
- Android进步之十四:使用jackon的ObjectMapper的writeValueAsString方法可以把java对象转化成json字符串
- 使用JSONObject对JSON字符串转对象时重复value的结果
- Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象
- JAVA中使用JSONObject对象
- 进程间通信:使用file-mapping kernel object(文件映射内核对象)
- 使用Java JSONObject操作JSON字符串对象
- Object-C中使用NSKeyedArchiver归档(将各种类型的对象存储到文件中)
- 【原】使用Json作为Python和C#混合编程时对象转换的中间文件
- 使用json.org和json-lib来处理json字符串和java对象的转化
- Object-C中使用NSKeyedArchiver归档(将各种类型的对象存储到文件中)
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- 使用json-lib遍历数组与对象(JSONArray与JSONObject)
- JSONObject JSONArray 对象使用
- java中将jsonObject字符串转化为Map对象
- Delphi中JSon SuperObject 使用:数据集与JSON对象互转
- jsonObject对象与本地自定义对象相互转化
- Object-C中使用NSKeyedArchiver归档(将各种类型的对象存储到文件中)
- How to Insert OLE Object (Adobe Acrobat Document) in Word with C#(如何使用C#在Word中插入OLE对象-PDF文件)
- 对象中含有java.util.Date时使用JSONArray.fromObject时时间显示问题
- java方式的将java对象以及list或者map转化为json数据,json转换为object或者map