A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 逆风TO 黑马粉丝团   /  2020-3-11 11:20  /  1398 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 逆风TO 于 2020-3-11 11:28 编辑

JSON

json不依赖任何编程语言,是一个独立的数据格式

json的定义

json是javasript object notation的简称,

json的格式
  • 基本类型
    [Java] 纯文本查看 复制代码
    {
    	"name":"zhangsan",
    	"age":18,
    	"sex":true
    }
    
  • 数组类型
    [Java] 纯文本查看 复制代码
    [
    	{
    		"name":"zhangsan",
    		"age":18,
    		"sex":true
    	},
    	{
    		"name":"lisi",
    		"age":20,
    		"sex":true
    	}
    ]
    
  • 组合类型
    [Java] 纯文本查看 复制代码
    	{
    		"class":"big data",
    		"student":[
       					{
       						"name":"zhangsan",
       						"age":18,
       						"sex":true
       					},
       					{
       						"name":"lisi",
       						"age":20,
       						"sex":true
       					}
       				],
       	"total": 2
    	}
    

json对象和json字符串的区别
json对象,json对象的属性可以用对象.属性调用
json字符串是一个用单引号或者双引号引起来的字符串,因为字符串的格式符合json的格式,所以叫做json字符串。
javascript中的json语法
json字符串转json对象,调用parse方法
[Java] 纯文本查看 复制代码
var data ='{"name":"zhangsan","age":18,"sex":true}';
var dataObject = JSON.parse(data);

  • json对象转为json字符串,调用JSON.stringify()方法
    [Java] 纯文本查看 复制代码
     var data = '{"name":"zhangsan","age":18,"sex":true}';
     var dataObject = JSON.parse(data);
     var dataString = JSON.stringify(dataObject);
    

java中的json方法
一般是json字符串转换为java对象,json字符串转json对象(JsonObject),json对象转java对象比较少

Gson
Gson是一个Google提供的一个Java库,可用于将Java对象转换为JSON表示。它也可以被用来将JSON字符串转换成一个等效的Java对象。

转为 java对象转换为Json格式的 字符串
[Java] 纯文本查看 复制代码
Gson gson = new Gson();
String ObjectToString = gson.toString(object);

  • json格式字符串转换为java对象
    [Java] 纯文本查看 复制代码
    Object StringToObject =gson.fromJson(ObjectToString )
    
    [Java] 纯文本查看 复制代码
    package com.shsxt.json;
    
    import com.google.gson.Gson;
    import com.shsxt.set.Person;
    
    public class GsonDemo {
        public static void main(String[] args) {
            /**
             *对象---->json格式字符串
             */
            //第一步先得到需要转换的对象
            Person person=new Person();
            person.setName("zhangsan");
            person.setAge(18);
            //第二步格式化为json格式的字符串
            //Gson提供的是成员方法所以需要new对象才能实现
            Gson gson=new Gson();
            String json = gson.toJson(person);
            System.out.println(json);
            System.out.println(person);
            /**
             * json格式字符串----->对象
             */
            Person personObject=gson.fromJson(json,Person.class);
            System.out.println(personObject);
        }
    }
    

[color=rgba(0, 0, 0, 0.749019607843137)]运行结果如下:


fastJson
  • 对象转换为json格式的字符串
    [Java] 纯文本查看 复制代码
    String jsonString = JSON.toJSONString(object);
    

-json格式的字符串转换为对象
[Java] 纯文本查看 复制代码
// 1). JavaBean : 
Person person = JSON.parseObject(jsonString, Person.class);
// 2). List : 
List<Person> listPerson =JSON.parseArray(jsonString, Person.class);
// 3). List :
 List<String> listString = JSON.parseArray(jsonString, String.class);
  // 4). List<Map> :
 List<Map> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map>>(){});







0 个回复

您需要登录后才可以回帖 登录 | 加入黑马