分享知识 传递快乐
废话不说,直接看代码:
fastJson
前提需要先引入 fastJson
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
Java代码:
public static void main(String[] args) throws IOException {
Map<String, Object> map = new HashMap<String, Object>();
map.put("user_name", "AAA");
map.put("password", "aaa");
map.put("age", 12);
map.put("sex", 1);
String json = JSON.toJSONString(map);
System.out.println(json);
// 获取JSON某个key的值
JSONObject jsonObj = JSON.parseObject(json);
String value = jsonObj.getString("user_name");
System.out.println(value);
// 修改JSON某个key的值
jsonObj.put("user_name", "BBB");
value = jsonObj.getString("user_name");
System.out.println(value);
// 修改JSON中的key
jsonObj.put("name", jsonObj.getString("user_name"));
jsonObj.remove("user_name");
// 或
// jsonObj.put("name", jsonObj.remove("user_name"));
System.out.println(jsonObj.toJSONString());
value = jsonObj.getString("name");
System.out.println(value.toLowerCase());
}
结果:
{"password":"aaa","user_name":"AAA","sex":1,"age":12}
AAA
BBB
{"password":"aaa","sex":1,"name":"BBB","age":12}
bbb
jackson
前提需要先引入 jackson
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
Java代码:
public static void main(String[] args) throws IOException {
Map<String, Object> map = new HashMap<String, Object>();
map.put("user_name", "AAA");
map.put("password", "aaa");
map.put("age", 12);
map.put("sex", 1);
// >>>>> jackson
// map/对象转json
ObjectMapper mapper = new ObjectMapper();
String jackson = mapper.writeValueAsString(map);
System.out.println(jackson);
// 方法一:获取JSON某个key的值
JsonNode node = mapper.readTree(jackson);
String nodeName = node.path("user_name").asText();
System.out.println(nodeName);
nodeName = node.get("user_name").asText();
System.out.println(nodeName);
// 方法二:获取JSON某个key的值
node = node.findValue("user_name");
System.out.println(node.textValue());
System.out.println(node.asText());
System.out.println(node.toString());
// json 转 map/对象
Map<String, Object> map2 = mapper.readValue(jackson, Map.class);
System.out.println(map2.toString());
}
结果:
{"password":"aaa","user_name":"AAA","sex":1,"age":12}
AAA
AAA
AAA
AAA
"AAA"
{password=aaa, user_name=AAA, sex=1, age=12}
———————————
相互学习,共同进步
如有不足请留言指正