JSON

Json for Java API学习

字号+ 作者:H5之家 来源:H5之家 2017-04-16 13:03 我要评论( )

CSDN知识库,按照技术领域和知识结构对海量技术资源进行筛选整理,并通过相关机制进行审核收录。保证入库知识的系统性与优质性。并且所含技术知识图谱有清晰的学

首先声明:本文来个很多网友的博客,我通过参考了他们的博客,大致的了解了一些项目中常用的Json in java 类和方法,以及关于json的个人理解 个人对json的一些简单理解

在最近的学习中,查阅了很多资料,了解了一些关于json的基本知识,下面做一个简单的总结:

json是什么

没有.json结尾的这种文件,json(JavaScript Object Notation)是一种简单的数据交换格式,在此之前我也不知道这个东西其实没有想象的那么抽象,看看后面的例子会更清晰

json中的数据结构

json中只有两种数据基本结构,一种是MAP,或者叫对象,另一种是Array

1.Map

类似与java中的Map,这里是以{开始,以}结束,内部object内容是键值对的形势,key:value,中间是:号隔开,不同的object之间用逗号隔开

比如:{"name":"hujie" , "age":21}

官方给的图解:()



2.Array

这个就类似于数组吧,所以很多时候我们都把json叫做就json数组,

这里是以[开始的,以]结束的,中间的value用逗号隔开

比如:["value1" , "value2" , "value3"]

官方的给的图解是:



json数组中的value可以是很多种数据类型的值,官方给了如下图解



这里的string,number等等我想是不需要多解释了,谁实话,这些具体的定时,我能理解,可是没法说出来。

知识点:

1.json并不难理解,简单点理解就是一种数据交换的格式

2.json只有两中结构,一种是object另一种是array,并且两者可以相互嵌套,{}是对象,[]是数组

json与JavaScript的转换

在javaScript中有一个动态脚本执行函数:eval(),这是一个javaScript的全局对象

eval()函数只能接受原生态的字符串作为参数,如果不是字符串,则会原样返回,否则会返回字符串的计算结果(前提是得有结果,没有结果返回null)

eval()案例:

<script language="javascript" type="text/javascript"> alert(eval("x=10;y=10;x*y;"));//100,当做js脚本执行 alert(eval("2+3"));//5 alert(eval("x+10"));//20了 var str="{}";//花括号内没属性时 alert(eval('(' + str + ')'));//弹出:[object Object] alert(eval(str));//弹出:undefined str="{name:'hj'}";//花括号内有一个属性 alert(typeof eval('(' + str + ')'));//弹出:object,以对象方式返回 alert(eval(str));//弹出:hj alert(eval('(' + str + ')').name);//弹出:hj alert(eval(str).name);//弹出:undefined str="{name:'hj',age:21}";//花括号内有多个属性时 alert(eval('(' + str + ')'));//object对象 alert(eval('(' + str + ')').name);//hj alert(eval('(' + str + ')').age);//21 //alert(eval(str));//运行时会出错,多个属性时不用小括号运行出错 //花括号{}是用来声明一个对象的,如果需要引用这个对象,那么我们必须加上(),这样才可以,因是声明语句只能执行,并不能够返回 //用()括起来的目的是将声明语句转换成表达式,这样就可以计算表达式的值,并返回 </script>这里指的注意的是,eval执行的脚本,生成的变量,是属于调用eval的那个作用域的
<script language="javascript" type="text/javascript"> eval("var str = '全局';"); function test(){ eval("var str = '局部';"); alert(str);//局部 } test(); alert(str);//全局 </script>下面讲一下json串和javaScript对象的相互转换吧

json串转换成js对象:


<script language="javascript" type="text/javascript"> var jsonpeople = "[{'name':'hj','age':21},{'name':'darkrake','age':21}]"; var jspeople = eval('('+jsonpeople+')'); alert(jspeople[0].name+":"+jspeople[0].age); alert(jspeople[1].name+":"+jspeople[1].age); </script>

json与XML的格式对比

简单对比:

XML:

<peoples> <people> <name>hj</name> <age>21</age> </people> <people> <name>darkrake</name> <age>21</age> </people> </peoples>
对应的json串格式: { peoples:{ people:[{'name':'hj','age':21}, {'name':'darkrake','age':21}] } } 来一个稍微复杂一点的吧,多层嵌套的: <address> <Province> <ProvinceName>安徽</ProvinceName> <City> <CityName>六安</CityName> <town>金安区</town> <town>舒城</town> </City> <City> <CityName>合肥</CityName> <town>肥东</town> <town>肥西</town> </City> </Province> <Province> <ProvinceName>北京</ProvinceName> <City> <CityName>北京</CityName> <town>东城区</town> <town>海淀区</town> </City> </Province> </address>
{ "address": { "Province": [ { "ProvinceName": "安徽", "City": [ { "CityName": "六安", "town": [ "金安区", "舒城" ] }, { "CityName": "合肥", "town": [ "肥东", "肥西" ] } ] }, { "ProvinceName": "北京", "City": { "CityName": "北京", "town": [ "东城区", "海淀区" ] } } ] } }
json in Java API常用的类以及方法 JSONObject类(往往与JSONArray结合起来用,最常用了)


案例:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 一文读懂机器学习、数据科学、人工智能、深度学习和统计学之间的

    一文读懂机器学习、数据科学、人工智能、深度学习和统计学之间的

    2017-04-06 16:00

  • 微信开发小功能

    微信开发小功能

    2017-03-21 17:07

  • Azure机器学习入门(4)模型发布为Web服务

    Azure机器学习入门(4)模型发布为Web服务

    2017-02-24 09:52

  • GO语言学习:JSON处理

    GO语言学习:JSON处理

    2017-01-24 08:01

网友点评
=