首页天道酬勤如何解析json,java解析复杂json格式数据

如何解析json,java解析复杂json格式数据

张世龙 05-05 13:44 130次浏览

javascriptobjectnotation (JSON )是一种轻量级的数据交换格式。 人容易读,容易写。 同时机器也很容易分析和生成。

JSON语法规则数据名称/值对中的数据使用逗号分隔的大括号保存对象的方括号并保存数组

JSON名称/值对JSON数据的写入格式是名称/值对。

名称/值对的字段名称用双引号括起来,后跟冒号,后跟值。

' name': '赵云'

JSON 值数字(整数或浮点数)字符串(双引号中)逻辑值(true或false )数组(方括号中)对象(大括号中) null

JSON 对象JSON对象用大括号写。

对象可以包含多个名称-值对。

{ 'name': '赵云',' level':30 }

JSON 数组JSON数组用方括号写。

数组可以包含多个对象。

{'Heros': [{ 'name': '赵云',' level':30 },{ 'name': '马超',' level':35 },{ ' name }

Unity中解析JSON比较流行的listjson。 JsonUtility是Unity官方提供的Json解析功能,转换的对象必须是可序列化的,并且必须标记“[System.Serializable]”属性。 Newtonsoft.Json (建议您可以分析复杂的json。 不需要与json字段一对一,而是灵活的。 )

33558 www.Sina.com/1 .创建名为“test JSON 01.txt”的新文本。 (文本内容如下)

{ 'name': '赵云',' level':30,' skill':[ '迅雷','狂雷天牢','连弩狂涛' ] }2.向unity发送“资源/”

3 .创建名为" JSON info.cs "的新类,并创建数据模型。 (如下) )

[ system.serializable ] publicclassjsoninfo { public string name; 公共输入级别; 公共字符串[ ] skill; }4.创建名为“test JSON.cs”的新类。 (代码如下)

用户单元引擎; publicclasstestjson : mono behaviour { privatevoidawake (} { stringjsonstring=resources.loadtextasset (JSON/testjsos ) ) Debug.Log (名称: ' jsonInfo.name ); Debug.Log ()等级(jsonInfo.level.ToString ) ); for(intI=0; i jsonInfo.skill.Length; I ) ) { Debug.Log (技能(I ):JSONinfo.skill[I] ); } }5.将test JSON.cs挂载到场景中并运行程序。 (结果如下)

33558 www.Sina.com/1 .创建名为“test JSON 01.txt”的新文本。 (文本内容如下)

{ 'Heros':[ {'name': '赵云',' level':30,' skill':[ '迅雷','狂雷天牢','连弩狂涛' }, {'namm60} (连弩猛撞) )、(name(: )关羽)、(level ) :15、(skill ) : )、(火箭烈)、(火箭强袭)、(name ' skill':[ '贰灭元炮','肆灭元炮','太极大方的导师弓','八极元','龙凤天舞','天雷毅电(代号为:

[ system.serializable ] publicclassheroinfo { publicjsoninfo [ ] heros; }3.创建名为“test JSON2. cs”的新类。 (代码如下)

用户单元引擎; publicclasstestjson 2: mono behaviour { privatevoidawake (} { stringjsonstring=resources.loadtextasset (JSON/testjset ) for(intI=0; i heroInfos.Heros.Length; I ) jsoninfojsoninfo=hero infos.heros [ I ]; string nameSrt=jsonInfo.name; int level=jsonInfo.level; string skillStr=string.Empty; string result=string.Empty; for(intj=0; j jsonInfo.skill.Length; j ) { skillStr ='技能' j ':' jsonInfo.skill[j]; } result=string.Format (名称: {0}等级: {1} {2} )、nameSrt、level、skillStr ); 打印(result; } }4.将test JSON2. cs挂载到场景中并运行程序。 (结果如下)

java解析json数组,java将对象转为json