大家好,又见面了,我是你们的朋友全栈君。
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();
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154352.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...