浅谈json

Posted 孟夏草木长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈json相关的知识,希望对你有一定的参考价值。

1.什么是json

  json:就是一种轻量级的数据交换格式

     json语法:“键”:“值”组成,多个之间通过逗号隔开,{}表示对象,[]表示数组

  json字符串: ‘{"a": "Hello", "b": "World"}‘;

  json对象: {a: ‘Hello‘, b: ‘World‘};

  json数组: ["a":"Hello"] ;

  json对象数组: [ {"name":"张三","age":20},

           {"name":"李四","age":21} ]

2.前台

  将对象转为json:JSON.stringify(对象)

  将json转为对象:JSON.parse(json)

3.后台(总的来说就是将对象、集合转为json,将字符串json转为对象、集合)

  一:Google的Gson,需要json.jar包,(fromJson()将json字符串转为对象、集合,toJson()将集合、对象转为json)

    1、将json字符串转为对象:gson对象.fromJson(实体, 实体.class) ;

package com.cn.test.test;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;

public class Test {
    
    public static void main(String[] args) {
        String student = "{‘name‘:‘张三‘,‘age‘:20}" ;
        Gson gson = new Gson() ;
        TestStudent s = gson.fromJson(student, TestStudent.class) ;
        System.out.println("-----------name----------"+s.getName());
        System.out.println("-----------age-----------"+s.getAge());
    }
}

    2、将json字符串转为集合: gson对象.fromJson(实体, new TypeToken<List<实体>>(){}.getType()) ; TypeToken是gson提供的数据类型转换器,可以支持各种数据集合类型转换。

package com.cn.test.test;

import java.util.List;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class Test {
    
    public static void main(String[] args) {
        String student = "[{‘name‘:‘张三‘,‘age‘:20},{‘name‘:‘李四‘,‘age‘:21}]" ;
        Gson gson = new Gson() ;
        List<TestStudent> s = gson.fromJson(student, new TypeToken<List<TestStudent>>(){}.getType()) ;
        for (TestStudent testStudent : s) {
            System.out.println("-----------name----------"+testStudent.getName());
            System.out.println("-----------age-----------"+testStudent.getAge());
        }
    }
}

    3、将对象转为json:toJson(对象)

package com.cn.test.test;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;

public class Test {
    
    public static void main(String[] args) {
        TestStudent s = new TestStudent() ;
        s.setAge(20);
        s.setName("张三");
        Gson gson = new Gson() ;
        String student = gson.toJson(s) ;
        System.out.println("------------------"+student);
    }
}
结果:------------------{"name":"张三","age":20}

    4、将集合转为json:toJson(集合)

package com.cn.test.test;

import java.util.ArrayList;
import java.util.List;

import com.cn.test.pojo.TestStudent;
import com.google.gson.Gson;

public class Test {
    
    public static void main(String[] args) {
        List<TestStudent> student = new ArrayList<TestStudent>() ;
        TestStudent s = new TestStudent() ;
        s.setAge(20);
        s.setName("张三");
        TestStudent s1 = new TestStudent() ;
        s1.setAge(30);
        s1.setName("李四");
        student.add(s) ;
        student.add(s1) ;
        Gson gson = new Gson() ;
        String testStudent = gson.toJson(student) ;
        System.out.println("------------------"+testStudent);
    }
}
结果:------------------[{"name":"张三","age":20},{"name":"李四","age":30}]

 

   二:

 

 



以上是关于浅谈json的主要内容,如果未能解决你的问题,请参考以下文章

实用代码片段将json数据绑定到html元素 (转)

json 可视代码工作室Angular with Firebase片段

vs code 用户代码片段 html.json

浅谈AngularJS中的$parse和$eval

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

浅谈thinkphp中将字符串转换成json数组的方法