什么是JSON?JSON(JavaScript Object Notation):是一种轻量级的数据交换格式。它是基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于计算机解析和生成,并有效的提升网络传输效率。JSON常见的格式
Java中使用json
在java中,怎么样把一个java对象转化成json格式,或者怎么样把一个json格式的字符串转换成java对象?我们需要用到JAVA给我们封装好的jar工具包jackson进行操作。
Jackson:开源免费的JSON 转换工具,SpringMVC 转换默认使用 Jackson。
常用的类
常用的方法
代码演示:
操作之前记得先导读相关的jar包1、先创建一个Person类(等下代码演示,把这个对象进行转化json 格式)
public class Person { private String name; //姓名 private int age; //年龄 private String des; //描述//省略了一部分代码}//提示:我为了方便省略了一些代码// 1、创建无参的构造方法,和有惨的构造方法//2、需要创建get和set方法
把一个对象转换成json格式:
运行结果:
把一个json格式的字符串转成对象:
运行结果:
把一个List集合和json格式互相转换(不带自定义对象)
import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;import java.util.ArrayList;public class Test001 { public static void main(String[] args) throws IOException {//创建json转化对象 ObjectMapper om=new ObjectMapper(); //List<String>转json ArrayList<String> list = new ArrayList<>(); list.add(“张三”); list.add(“李四”); String json = om.writeValueAsString(list); System.out.println(“json字符串:” json); //运行结果:json字符串:[“张三”,”李四”] //json转 List<String> ArrayList<String> list2 = om.readValue(json, ArrayList.class); System.out.println(list2); //运行结果:[张三, 李四] }}
把一个List集合和json格式互相转换(带自定义对象)
注意:如果把一个json格式的字符串转换成List集合的时候,如果list集合中保存的是一个自定义对象,比如:ArrayList<Person>,Person对象是我们自己创建的,这个时候转化的话,调用readValue()方法的时候参数不能直接写ArrayList.calss
例如:
xxx.readValue(“json格式的字符串”, ArrayList.calss);
要用TypeReference类进行转换:
例如:
xx.readValue(json,newTypeReference<ArrayList<Person>>(){});
把一个Map集合和json格式互相转换(不带自定义对象)
import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;import java.util.HashMap;public class Test001 { public static void main(String[] args) throws IOException { //创建Json转化对象 ObjectMapper om=new ObjectMapper(); HashMap<String,String> map = new HashMap<>(); map.put(“姓名”,”张三”); map.put(“性别”,”男”); //把map集合转成json格式的字符串 String json = om.writeValueAsString(map); System.out.println(“json字符串:” json); //运行结果:json字符串:{“姓名”:”张三”,”性别”:”男”} //json转map<String,String> HashMap<String,String> map2 = om.readValue(json, HashMap.class); System.out.println(“java对象:” map2); //运行结果:java对象:{姓名=张三, 性别=男} }}
把一个Map集合和json格式互相转换(带自定义对象)
注意:如果把一个json格式的字符串转换成map集合的时候,如果map集合中保存的是一个自定义对象,比如:HashMap<String, Person>,Person对象是我们自己创建的,这个时候转化的话,调用readValue()方法的时候参数不能直接写HashMap.calss,写法和上面list的写法一样。
JavaScript中使用json
我们除了可以在 Java中来使用 JSON 以外,在 JavaScript 中同样也可以使用 JSON。但是在JavaScript可以直接操作JSON,不需要导入什么第三方包。
常用的方法
代码演示:
把一个javascript对象转成json格式
把一个json格式转成javascript对象
END