大家好,又见面了,我是你们的朋友全栈君。
在java中要想方便的操作json首先要引入json的jar包,如json-lib-2.4-jdk15.jar
下面是一些常用的方法:
Map<String,String> map1 = new HashMap<String,String>();
map1.put("username","liuwei");
map1.put("psw", "123");
//Map转换为json对象
//方法一:转换为带有key值的json对象
JSONObject json0 = new JSONObject();
json0.put("mapJson=", map1);
System.out.println("json0="+json0);
//方法二:转化为不带有key值的json对象
JSONObject json1 = JSONObject.fromObject(map1);
//Map对象转化为json数组
JSONArray mapArr = JSONArray.fromObject(map1);
ListMap转化为json对象
//方法一:转化为没有key值的json对象
List<Map<String,String>> listMap = new ArrayList<Map<String,String>>();
Map<String,String> map2 = new HashMap<String,String>();
map2.put("username", "zhangsan");
map2.put("psw", "46732");
listMap.add(map1);
listMap.add(map2);
JSONArray jsonArray = JSONArray.fromObject(listMap);
//f方法二:转化为带有key值的json对象
JSONObject json5 = new JSONObject();
json5.put("1", listMap);
json数组转化为带有key值的json对象
JSONObject jsonobj2 = new JSONObject();
jsonobj2.put("newuser", jsonArray);
jsonobj2.put("otheruser", jsonArray2);
json对象转换为json字符串
String jsonstr = jsonobj2.toString();
json字符串转换为json对象
JSONObject jsonObj = JSONObject.fromObject(jsonstr);
获取json对象的key获取属性值,并可以转化为map
Map<String,String> map = new HashMap<String,String>();
map.put("username", jsonObjOne.getString("username"));
map.put("psw", jsonObjOne.getString("psw"));
json数组转化为ListMap
List<Map<String,String>> list4 = new ArrayList<Map<String,String>>();
for(int i = 0;i < jsonArr2.size();i++){
JSONObject jsonObjOne = jsonArr2.getJSONObject(i);
Map<String,String> map = new HashMap<String,String>();
map.put("username", jsonObjOne.getString("username"));
map.put("psw", jsonObjOne.getString("psw"));
list4.add(map);
/**
*JSON.parse 字符串转成对象
* 参数1:字符串
* 参数2:执行函数,有返回值
* @type {string}
*/
var parseTest = function() {
var data = '{"data":[],"parmas":{}}';
return JSON.parse(data, function(key, val) {
return val;
});
};
console.log(parseTest());
/**
* JSON.stringify 对象转换为字符串。
* 参数1:js对象
* 参数2:执行函数,有返回值
* 参数3:文本添加缩进、空格和换行符,如果参数是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果参数大于10,则文本缩进10个空格。参数可以使用非数字,如:\t
*/
var stringifyTest = function() {
var data = {
"data": [1],
"parmas": {
"key": 1
}
};
return JSON.stringify(data, function(key, val) {
return val;
}, 1);
};
console.log(stringifyTest());
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106626.html原文链接:https://javaforall.cn