zoukankan      html  css  js  c++  java
  • Json相关1_Json的概念

    一、一切数据都可以用三种方式表示

    • 标量(scalar)

      也就是一个单独的字符串(string)或数字(numbers).

      比如"北京"这个单独的词。

    • 序列(sequence)

      也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List)

      比如"北京,上海"。

    • 映射(mapping)

      也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary)

      比如"首都:北京"。

    二、Json标准

    1. 并列数据的集合(数组)用方括号("[]")表示。

    2. 并列的数据之间用逗号(", ")分隔。

    3. 映射的集合(对象)用大括号("{}")表示。

    4. 映射用冒号(": ")表示。

    三、示例

    1.fastjson包
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.74</version>
            </dependency>
    
    2.java代码
    package main.cn.yang37.json;
    
    import com.alibaba.fastjson.JSONObject;
    
    import java.util.LinkedHashMap;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Map;
    
    /**
     * @Description:
     * @Class: JsonTest1
     * @Author: Yiang37
     * @Date: 2020/12/9 0:12
     * @Version: 1.0
     */
    public class JsonTest1 {
        public static void main(String[] args) {
    
            List list = new LinkedList();
            list.add("12");
            list.add("12");
            System.out.println("list			"+JSONObject.toJSON(list));
    
            Map map = new LinkedHashMap();
            map.put("k1", "v");
            map.put("k2", "v");
            System.out.println("map			"+JSONObject.toJSON(map));
    
            List listContainMap = new LinkedList();
            listContainMap.add(map);
            listContainMap.add(map);
            System.out.println("listContainMap			"+JSONObject.toJSON(listContainMap));
    
            Map mapContainList = new LinkedHashMap();
            mapContainList.put("myMap", listContainMap);
            System.out.println("mapContainList			"+JSONObject.toJSON(mapContainList));
        }
    }
    
    3.运行结果
    list			["12","12"]
    map			{"k1":"v","k2":"v"}
    listContainMap			[{"k1":"v","k2":"v"},{"k1":"v","k2":"v"}]
    mapContainList			{"myMap":[{"k1":"v","k2":"v"},{"k1":"v","k2":"v"}]}
    
    4.用工具格式化一下后两个
    //listContainMap
    [
        {
            "k1": "v",
            "k2": "v"
        },
        {
            "k1": "v",
            "k2": "v"
        }
    ]
    
    //mapContainList	
    {
        "myMap":
        [
            {
                "k1": "v",
                "k2": "v"
            }, {
                "k1": "v",
                "k2": "v"
            }
        ]
    }
    
  • 相关阅读:
    Curso de FP Interpretacion Lenguaje de Signos a distancia.
    T1载波与E1载波
    快速以太网中传输介质100BASETX
    MySQLdb
    NRZ编码、NRZI编码、曼彻斯特编码和差分曼彻斯特编码
    静态VLAN和动态VLAN
    Windows用脚本快速修改IP地址(Netsh)
    some skills in Windows
    shell 条件测试
    [转]不要做浮躁的嵌入式工程师
  • 原文地址:https://www.cnblogs.com/yang37/p/14106472.html
Copyright © 2011-2022 走看看