Java教程

JSON在JavaScript和java中的使用

本文主要是介绍JSON在JavaScript和java中的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,而且都提供了对json的支持(C,C++,C#,JavaScript,Pyhton)。这样使得JSON称为理想的数据交换语言。

json轻量级是跟xml比较。
数据交换客户端和服务器之间的数据交换格式。

JSON在JavaScript中的使用

1. json的定义
json是由键值对组成,并且由花括号(大括号)
包围。每个键值由引号引起来,键和值之间使用冒泡进行分割,多组键值对之间进行逗号。json就是一个对象

<head>
    <title>json</title>
    <script type="text/javascript">
        var a={
            "key1":"values1",
            "key2":"values2"
        };
        alert(a.key1);
    </script>
</head>

2. json 的访问
json本身就是一个对象。
json中的key可以理解为是对象中的一个属性。

json中 的key就跟访问对象的属性是一个样的;
json

3. JSON的两个常用的方法

json的存在有两种形式:
一种是:对象的形式存在,叫json对象
一种是:字符串的形式存在,叫json字符串

需要json中的对象的时候需要json对象的格式。
需要在客户端和服务器之间进行数据交换的时候,使用json字符串。

JSON.stringify():把json对象转化为json字符串

JSON.parse():把json字符串转化为json对象

JSON在java中的使用

需要先导入json的jar包

javaBean和json的互转

public class Demo {
    @Test
    public void test1(){
        Gson gson = new Gson();
        Student stu = new Student("张三",18,"男");
        
        //对象转化为字符串
        String s = gson.toJson(stu);

        //字符串转化为对象
        Student student = gson.fromJson(s, Student.class);

        System.out.println(student);
    }
}

List和json的互转

如果将json转化为对象,只需要使用
Student student = gson.fromJson(s, Student.class);
但是json转化为list的时候不能使用List.class编译器会报错
这时候需要先新建一个类继承 TypeToken<>在泛里写上需要转化的类型

public class StudentListType extends TypeToken<ArrayList<Student>> {
}

然后在后端写

//将字符串转化为list
		Gson gson = new Gson();
        List<Student> list1= gson.fromJson(s, new StudentListType().getType());
        System.out.println(list1);

还有一种方式是采用匿名内部类,省去了在外部包下创建类

//将字符串转化为list----采用匿名内部类
        List<Student> list1= gson.fromJson(s,new TypeToken<List<Student>>(){}.getType());
        System.out.println(list1);

map和json的互转

采用匿名内部类转化

 //Map和json字符串的转化
        Map<Integer, Student> map = new HashMap<>();
        map.put(1,new Student("李四",10,"女"));
        map.put(2,new Student("王五",20,"男"));

        //map转json
        String s1 = gson.toJson(map);
        System.out.println(s1);

        //json转map
        Object o = gson.fromJson(s1, new TypeToken<Map<Integer, Student>>() {
        }.getType());

        System.out.println(o);
这篇关于JSON在JavaScript和java中的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!