JSON的定义

Posted

tags:

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

参考技术A JSON是一种文本格式结构化数据的序列化。

JSON有四种原始类型:

两种结构化类型:

字符串(string)是以0个或更多的Unicode字符组成的序列。

对象(object)是以键值对(name/value)组成的无序集合,键名(name)必须是字符串类型,键值必须是字符串(string)、数值(number)、布尔(boolean)、空(null)、对象(object)或数组(array)中的一种。

数组(array)是0个或多个值(value)的有序集合。

JSON的设计目标是让JSON成为最小的,便携的,文本的,javascript的子集。

JSON 内容类型有如下几种:

根据 RFC 4627 文件,
The MIME media type for JSON text is application/json.
Type name: application
Subtype name: json

所以认为:The MIME media type for JSON text is application/json. The default encoding is UTF-8。

自定义Json格式

老铁们都知道,一般的json格式就是键值对格式,在一些特定的框架或者系统中,会用到自定义格式的json文件,假设我们要得到的特定格式json格式如下:

{"A":"2","B":20,"C":"38","D":[{"E":"232","cell":["a","b","c","d"]},{"E":"235","cell":["a1","b1","c1","d1"]}]}

那么代码就可以如下写法:

public static JSONObject List2Json(List list) {
               
        JSONObject json = new JSONObject();
        json.put("A", "2");
        prologjson.put("B", 20);
        prologjson.put("C", "38");
        
        for(int i = 0; i < 某条件; i++){
            JSONObject tempobj = new JSONObject();
            tempobj.put("E", list.get(i).getA());
            tempobj.accumulate("cell", list.get(i).getA);
            tempobj.accumulate("cell", list.get(i).getB);
            tempobj.accumulate("cell", list.get(i).getC);
            tempobj.accumulate("cell", list.get(i).getD));
            prologjson.accumulate("rows", tempobj);
        }
        return prologjson;
    }

 ps:以上的代码是伪代码,复制粘贴是运行不了的哦。

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

Json.Net 自定义 ContractResolver 忽略自定义对象

子 JSON 对象未定义时未定义

如何在 Graphql 中返回 JSON 对象并定义 JSON 类型

JSON的定义

json定义及jquery操作json

如何在 Angular 的自定义结构中创建具有自定义结构的 JSON 数据