Java从小白到大牛 24.4 数据交换格式之JSON文档

一、引入介绍

1、纯文本格式

 

2、XML格式

 

3、JSON格式

与XML相比,JSON描述项较少

 

 

二、JSON文档结构

      

 

    

 

 

JSON-java/Cookie.java at master · stleary/JSON-java · GitHub    https://github.com/stleary/JSON-java/blob/master/Cookie.java

org.json (JSON in Java 20160212 API)                                          https://stleary.github.io/JSON-java/index

JSON官网介绍                                                                                http://json.org/

 

 

三、JSON数据编码和解码

1、编码

编码就是JSON对象转换为JSON字符串的过程

服务器端一般是编码

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * @author wangyue
 * @version 1.0
 * @date 2019/7/11 14:45
 * @describe: 
 */
public class jsonTest {
    public static void main(String[] args){

        System.out.println("-------------1:JSON编码过程-------------");
        //{ "name": "tony", "age": 30, "a": [1,3] }
        try{
            JSONObject jsonObject=new JSONObject();
            jsonObject.put("name", "tony");
            jsonObject.put("age", 30);

            JSONArray jsonArray=new JSONArray();
            jsonArray.put(1).put(3);
            jsonObject.put("a",jsonArray);

            System.out.println(jsonObject.toString());

        } catch ( JSONException e ){
            e.printStackTrace();
        }

       
    }
}


-------------1:JSON编码过程-------------
{"a":[1,3],"name":"tony","age":30}

 

 

2、解码

解码就是JSON字符串转换为JSON对象

客户端一般是解码

注意:直接拼接JSON字符串的话,双引号的地方需要转义

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * @author wangyue
 * @version 1.0
 * @date 2019/7/11 14:45
 * @describe: 
 */
public class jsonTest {
    public static void main(String[] args){
    
        System.out.println("\n-------------2:JSON解码过程-------------");
        // { "name": "tony", "age": 30, "a": [1,3] }
        //可以直接构建 JSON字符串,但是双引号需要转义
        String jsonString= " { \"name\": \"tony\", \"age\": 30, \"a\": [1,3] }";

        try{
            JSONObject jsonObject=new JSONObject(jsonString);

            String name=jsonObject.getString("name");
            System.out.println("name: "+name);
            int age=jsonObject.getInt("age");
            System.out.println("age: "+age);

            JSONArray jsonArray=jsonObject.getJSONArray("a");
            int n1=jsonArray.getInt(0);
            System.out.println("数组a里的第一个元素: "+n1);
            int n2=jsonArray.getInt(1);
            System.out.println("数组a里的第二个元素: "+n2);


        } catch ( JSONException e ){
            e.printStackTrace();
        }

    }
}


输出
-------------2:JSON解码过程-------------
name: tony
age: 30
数组a里的第一个元素: 1
数组a里的第二个元素: 3

 

 

四、聊天工具

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值