jsonObject [通俗易懂]

2022-09-07 16:37:52 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

JSON就是一串字符串 只不过元素会使用特定的符号标注。

{“age”:14;

“name”:“lisi”

}这就是一个对象了

json数组 含有多个json对象的数组

[{“age”:14;

“name”:”lisi”},

{“age”:17;

“name”:”nono”

}]

JSONObject 就是把其他形式和json形式对象相互转化。

JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。

生成jsonObject的几种形式

1,new JSONObject

JSONObject zhangsan = new JSONObject(); try { //添加 zhangsan.put(“name”, “张三”); zhangsan.put(“age”, 18.4); zhangsan.put(“birthday”, “1900-20-03”); zhangsan.put(“majar”, new String[] {“哈哈”,”嘿嘿”}); zhangsan.put(“null”, null); zhangsan.put(“house”, false); System.out.println(zhangsan.toString()); } catch (JSONException e) { e.printStackTrace(); }

2.HashMap形式 也可以

HashMap<String, Object> zhangsan = new HashMap<>(); zhangsan.put(“name”, “张三”); zhangsan.put(“age”, 18.4); zhangsan.put(“birthday”, “1900-20-03”); zhangsan.put(“majar”, new String[] {“哈哈”,”嘿嘿”}); zhangsan.put(“null”, null); zhangsan.put(“house”, false); System.out.println(new JSONObject(zhangsan).toString());

3.通过实体生成

User zhangsan=new User(); zhangsan.put(“name”, “张三”); zhangsan.put(“age”, 18.4); zhangsan.put(“birthday”, “1900-20-03”); zhangsan.put(“majar”, new String[] {“哈哈”,”嘿嘿”}); zhangsan.put(“null”, null); zhangsan.put(“house”, false); System.out.println(new JSONObject(zhangsan));

解析jeson格式

//读取json文件路径 File file = new File(jsonTest.class.getResource(“/zhangsan.json”).getFile()); try { //读取json内容 String s = FileUtils.readFileToString(file); //转换json对象 JSONObject jsonObject = new JSONObject(s); if(!jsonObject.isNull(“name”)){ //从文件读取JSON判断null System.out.println(jsonObject.getString(“name”)); } System.out.println(jsonObject.getString(“birthday”)); System.out.println(jsonObject.getBoolean(“house”)); System.out.println(jsonObject.getDouble(“age”)); JSONArray majar = jsonObject.getJSONArray(“majar”); //遍历数组 for(int i=0,lengths=majar.length();i<lengths;i ){ String o = (String)majar.get(i); System.out.println(i 1 ”:” o); } } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154352.html原文链接:https://javaforall.cn

0 人点赞