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 忽略自定义对象