怎么写json数据

怎么写json

1. JSON语言怎么写

JSON是一种文本格式,并不是一门语言。

JSON格式包含以下几种元素: Object: 由 '{' 开始,'} 结束,如 '{}' (注意不包含单引号)就定义了一个空的对象,对象中可以包含属性,属性是由属性名,':' 和属性值,其中属性名应该用双引号括起来,如: { "id" : 123 } ,定义了一个Object,里面有一个名为 "id" 的属性,id属性的值为 123. Array: Array是一个列表,由 '[' 开始 ']' 结束,其中各个元素用 ',' 分开,元素可以是对象,值(下面讨论)或者数组,如: [ "abc", 123, true ] 定义了一个数组,第一个元素是一个字符串,第二个是数字,第三个是boolean 类型值 Value: value 是json中的基本值,value 可以为用双引号括起来的字符串,一个数字,或者 true, false, null中的任何一个,或者一个对象或e799bee5baa6e4b893e5b19e31333431363634者数组,如: { "id": 1, "values": [ "a", 1, true, false, null, [1, 2, 3], {} ], "subObject": { } } 可以看到,最外面定义了一个对象,该对象有三个属性,分别为 id, values 和 subObject,id为 1,values 为一个数组,数组中分别包含了上面values中介绍的各种值,而subObject属性是另一个对象(即对象可以嵌套),而且可以任意嵌套,数组中可以嵌套对象,对象中又可以添加值为数组的属性。 最后,给你一个参考链接:"}';

var jsonobj= eval('(' + obj + ')');

//读取

alert(jsonobj.name);

JSON 数组循环

再已知道JSON结构的情况下:

var jsonArray=[{"name":"jinbao","url":"jinbaoshare.com"},{"name":"elf","url":"petelf.net"}];

var len=jsonArray.length;

for(var i=0;i<len;i++){

alert(jsonArray[i].name);

}

未知JSON数组结构的情况下:

var jsonArray=[{"name":"jinbao","url":"jinbaoshare.com"},{"name":"elf","url":"petelf.net"}];

var len=jsonArray.length;

for(var i=0;i<len;i++){

for(var key in jsonArray[i]){

alert("key:"+key+",value:"+jsonArray[i][key]);

}

}

在我的网站上有详细介绍 有不明白的可留言,我及时回复

5. json数据格式和xml数据格式的区别和用法是什么

JSON与XML的区别:1 、可读性。

JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。2、可扩展性。

XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。

3、编码难度。XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。

无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。用法:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

易于人阅读和编写,同时也易于机器解析和生成。XML可以做为一个公共的标准格式为不同格式之间提供统一接口。

数据格式(data format)是描述数据保存在文件或记录中的规则。可以是字符形式的文本格式,或二进制数据形式的压缩格式。

字符形式的文本格式占用的存贮空间多但透明度高,二进制数形式的压缩格式占用的存贮空间少但缺少透明度。

6. 如何读写json文件

publicstaticfinal<TTparseObject(Stringtext,Class<Tclazz);//把 JSON 文本 parse 为 JavaBean

publicstaticfinalJSONArrayparseArray(Stringtext);//把 JSON 文本 parse 成 JSONArray

publicstaticfinal<TList<TparseArray(Stringtext,Class<Tclazz);//把 JSON 文本 parse 成 JavaBean 集合

publicstaticfinalStringtoJSONString(Objectobject);//将 JavaBean 序列化为 JSON 文本

publicstaticfinalStringtoJSONString(Objectobject,booleanprettyFormat);//将 JavaBean 序列化为带格式的 JSON 文本

publicstaticfinalObjecttoJSON(ObjectjavaObject);将 JavaBean 转换为 JSONObject 或者 JSONArray 。

在网上搜的api,你可以动手试试,总在fastJSON很好很强大!

7. JAVA这种格式的json怎么写啊

json对引号很敏感,所以java中返回json格式字符串时,一般要转义,这样不会发生错误。比如:

"key": {"location": [

"崇文区",

"海淀区",

"大兴区",

"房山区",

"朝阳区",

"西城区",

"丰台区",

"东城区",

"顺义区",

"昌平区",

]

}

json字符串

String json = "{\"key\":\"{\"location\":\"[\"海淀\",\"崇文\"]\"}\"}"这样子

8. 如何编写一个JSON解析器

编写一个JSON解析器实际上就是一个函数,它的输入是一个表示JSON的字符串,输出是结构化的对应到语言本身的数据结构。

和XML相比,JSON本身结构非常简单,并且仅有几种数据类型,以Java为例,对应的数据结构是:"string":Java的String;number:Java的Long或Double;true/false:Java的Boolean;null:Java的null;[array]:Java的List或Object[];{"key":"value"}:Java的Map。解析JSON和解析XML类似,最终都是解析为内存的一个对象。

出于效率考虑,使用流的方式几乎是唯一选择,也就是解析器只从头扫描一遍JSON字符串,就完整地解析出对应的数据结构。本质上解析器就是一个状态机,只要按照JSON定义的格式(参考http://www.json.org,正确实现状态转移即可。

但是为了简化代码,我们也没必要完整地实现一个字符一个字符的状态转移。解析器的输入应该是一个字符流,所以,第一步是获得Reader,以便能不断地读入下一个字符。

在解析的过程中,我们经常要根据下一个字符来决定状态跳转,此时又涉及到回退的问题,就是某些时候不能用next()取下一个字符,而是用peek()取下一个字符,但字符流的指针不移动。所以,Reader接口不能满足这个需求,应当进一步封装一个CharReader,它可以实现:char next():读取下一个字符,移动Reader指针;char peek():读取下一个字符,不移动Reader指针;String next(int size):读取指定的N个字符并移动指针;boolean hasMore():判断流是否结束。

JSON解析比其他文本解析要简单的地方在于,任何JSON数据类型,只需要根据下一个字符即可确定,仔细总结可以发现,如果peek()返回的字符是某个字符,就可以期望读取的数据类型:{:期待一个JSON object;::期待一个JSON object的value;,:期待一个JSON object的下一组key-value,或者一个JSON array的下一个元素;[:期待一个JSON array;t:期待一个true;f:期待一个false;n:期待一个null;":期待一个string;0~9:期待一个number。但是单个字符要匹配的状态太多了,需要进一步把字符流变为Token,可以总结出如下几种Token:END_DOCUMENT:JSON文档结束;BEGIN_OBJECT:开始一个JSON object;END_OBJECT:结束一个JSON object;BEGIN_ARRAY:开始一个JSON array;END_ARRAY:结束一个JSON array;SEP_COLON:读取一个冒号;SEP_COMMA:读取一个逗号;STRING:一个String;BOOLEAN:一个true或false;NUMBER:一个number;NULL:一个null。

然后,将CharReader进一步封装为TokenReader,提供以下接口:Token readNextToken():读取下一个Token;boolean readBoolean():读取一个boolean;Number readNumber():读取一个number;String readString():读取一个string;void readNull():读取一个null。由于JSON的Object和Array可以嵌套,在读取过程中,使用一个栈来存储Object和Array是必须的。

每当我们读到一个BEGIN_OBJECT时,就创建一个Map并压栈;每当读到一个BEGIN_ARRAY时,就创建一个List并压栈;每当读到一个END_OBJECT和END_ARRAY时,就弹出栈顶元素,并根据新的栈顶元素判断是否压栈。此外,读到Object的Key也必须压栈,读到后面的Value后将Key-Value压入栈顶的Map。

如果读到END_DOCUMENT时,栈恰好只剩下一个元素,则读取正确,将该元素返回,读取结束。如果栈剩下不止一个元素,则JSON文档格式不正确。

最后,JsonReader的核心解析代码parse()就是负责从TokenReader中不断读取Token,根据当前状态操作,然后设定下一个Token期望的状态,如果与期望状态不符,则JSON的格式无效。起始状态被设定为STATUS_EXPECT_SINGLE_VALUE | STATUS_EXPECT_BEGIN_OBJECT | STATUS_EXPECT_BEGIN_ARRAY,即期望读取到单个value、{或[。

循环的退出点是读取到END_DOCUMENT时。

转载请注明出处育才学习网 » 怎么写json数据

知识

罗梅芬用日文怎么写(罗钰潇日语怎么写)

阅读(21434)

本文主要为您介绍罗梅芬用日文怎么写,内容包括伊蕾娜日语怎么写,王雪菲用日文怎么说,张佳怡在日语中怎么写啊怎么读啊。罗 ら ラ ra钰 ぎょく ギョク gyoku潇 しょう シヨウ shou第一列:日语汉字,写法同汉字,都要用繁体,这三个都挺难写的,看

知识

邓先生的英文怎么写(1~40的英文怎么说)

阅读(10451)

本文主要为您介绍邓先生的英文怎么写,内容包括“邓先生”用英语怎么写,1~40的英文怎么说,漂亮英文beautiful缩写怎么写。1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 8 nine 10 te

知识

一个人布满皱纹怎么写(描写人物皱纹的句子)

阅读(9530)

本文主要为您介绍一个人布满皱纹怎么写,内容包括描写人物皱纹的句子,描写人物皱纹的句子,皱纹怎么描写。、老人脸上布满了皱纹,那一条条曲折不均的像是墙上斑驳的印迹,爬满了面容,留下了岁月的痕迹。2、外祖父是一位年过六旬的白发老人。在他

知识

登录接口怎么写(php登录的接口怎么写)

阅读(7771)

本文主要为您介绍登录接口怎么写,内容包括php登录的接口怎么写,网页登陆接口怎么做,网站登录接口程序怎么做。PHP 接口 接口 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过int

知识

档案奖惩情况怎么写(奖惩情况怎么写)

阅读(9609)

本文主要为您介绍档案奖惩情况怎么写,内容包括奖惩情况怎么写,个人简历及奖惩情况怎么填写,个人简历里面奖惩情况怎么写。在简历里的“奖励”部分,列出与你所获得的并与你的求职目标相关的荣誉、奖励和奖金。你既可以按时间顺序排列,也可以按

知识

头孢克肟拼音怎么写(头孢克肟的肟念什么)

阅读(8013)

本文主要为您介绍头孢克肟拼音怎么写,内容包括头孢克肟片全名拼音,头孢克肟片全名拼音,头孢克肟的肟念什么。肟[wò] :是含有羰基的醛、酮类化合物与羟胺作用而生成的有机化合物,可以参与许多有机化学反应,例如经典的Beckmann重排就是肟为底

知识

一库搜用日语怎么写(日语一库是什么意思)

阅读(8010)

本文主要为您介绍一库搜用日语怎么写,内容包括日语大神来,看动漫里的主人公说一句:恰,一库搜这是什么意思,一库一库;一搜库这两个日语是什么意思怎么写,看片都有“一库”(日语)是什么意。一库的意思就是“出发,出去”的意思。日语「行く」的音译

知识

外租无人机广告怎么写(植保无人机广告语)

阅读(7010)

本文主要为您介绍外租无人机广告怎么写,内容包括求一个无人机创意广告词谢谢巨友们了,求一关于无人机的广告标语,求一关于无人机的广告标语我们公司是做无人机的,新成立的公司,求。DJI大疆创新研发的的MG-1农业植保机专为农村作业环境设计,

知识

河南话que怎么写(河南话的nenna怎么写)

阅读(6541)

本文主要为您介绍河南话que怎么写,内容包括que怎么写,河南话的nenna怎么写,que怎么写。尿一壶(niào yī hú)关系密切,观点一致。例:“他俩今天尿一壶啦。”●尿(niào)⑴、从尿道排泄的液体。⑵、排泄小便。⑶、不放

知识

国学经文的论文怎么写(国学征文该怎么写)

阅读(7127)

本文主要为您介绍国学经文的论文怎么写,内容包括国学征文该怎么写,弟子规的400论文,关于国学经典的征文怎么写。“子曰:“温故而知新,可以为师”……小时,总是觉得国学就是没用的,古人写的话,我们还需要背,每次老师教给我们时,我总是会让思想开一

知识

化学实验总结怎么写(化学实验报告小结怎么写)

阅读(5406)

本文主要为您介绍化学实验总结怎么写,内容包括化学实验总结怎么写,化学实验报告小结怎么写,化学实验小结怎么写。化学实验报告的书写: 一般情况下化学实验报告是根据实验步骤和顺序从七方面展开来写的: 1.实验目的:即本次实验所要达到的目标或

知识

蝴蝶豌豆拼音怎么写(豌豆的拼音是什么)

阅读(5836)

本文主要为您介绍蝴蝶豌豆拼音怎么写,内容包括蝴蝶怎么拼音的,豌豆的拼音是什么,蝴蝶的拼音是什么。豌豆的拼音是[wān dòu]。豌豆是豆科一年生攀援草本,高0.5-2米。全株绿色,光滑无毛,被粉霜。叶具小叶4-6片,托叶心形,下缘具

知识

海绵宝宝用英文怎么说(海绵宝宝用英文怎么说)

阅读(6521)

本文主要为您介绍海绵宝宝用英文怎么说,内容包括海绵宝宝用英语怎么说,海绵宝宝用英文怎么说,海绵宝宝英文名是什么。1. SPONGEBOB SQUAREPANTS 近期很夯的一步卡通影片《海绵宝宝》(SpongeBob SquarePants)是一系

知识

茶盏怎么用(茶盏在茶道中干嘛用)

阅读(5429)

本文主要为您介绍茶盏怎么用,内容包括茶盏怎么用我要写一篇200字左右的茶盏的使用说明,求指教,茶盏在茶道中干嘛用,问一下斗笠盏如何使用现在是不是很少有人使用它,它的意义。苏东坡的名句"从来佳茗似佳人",典型地代表了唐宋及以后的文人墨客,

知识

thinkpad小红点怎么用(怎么学习使用thinkpad小红点)

阅读(7596)

本文主要为您介绍thinkpad小红点怎么用,内容包括怎么学习使用thinkpad小红点,thinkpad小红点怎么用,求教:THINKPAD的小红点使用方法。Thinkpad 小红点最高效的使用方法为:左手拇指按左键,无操作时在左键待命2、右手拇指按右键,同时兼按空格键及