JSON

JSON学习笔记

字号+ 作者:H5之家 来源:H5之家 2015-09-09 19:00 我要评论( )

最近写一个搜索方面的代码,需要用JS异步请求以JSON格式与服务器传输数据,于是开始了JSON和Rest的学习。introJSON(JavascriptObjectNotation)是一种轻量级的数

最近写一个搜索方面的代码,需要用JS异步请求以JSON格式与服务器传输数据,于是开始了JSON和Rest的学习。 intro
JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是在Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯---百科 JSON用于描述数据结构,有两种基本形式存在
名称/值对(collection):名称和值之间使用“:”隔开,每个名称/值对之间使用“,”分割,并且使用“{”“}”括起来;一般的形式是:
{name:value}
这样的数据描述在不同的语言中会被解释成不同的形式,可能是对象,结构体,哈希表等。
值的有序列表(Array):一个或者多个值用“,”分割后,使用“[”,“]”括起来就形成了这样的列表,形如:
[collection, collection]
在很多语言中它被解释为数组。
understanding
个人认为JSON是继XML后更为简洁、更具有可读性的数据格式。
JSON的规格非常简单,只用一个页面、几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。
1) 并列的数据之间用逗号(“,”)分隔。
2) 映射用冒号(“:”)表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号(“{}”)表示。 practice
下面是JSON与JAVA中一些对象的转换例子
需要用到的JAR包
commons-httpclient-3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk15.jar(目前最高版本)
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar
commons-beanutils-core-1.7.0.jar
所有包见附件 List list = new ArrayList(); list.add("djl"); list.add(999); JSONArray jArray = JSONArray.fromObject(list); jArray.add("newElement"); System.out.println("jArray===="+jArray); Map map = new HashMap(); map.put("name", "leign"); map.put("year", 2009); JSONObject jsonObject = JSONObject.fromObject(map); jsonObject.put("key", "value"); System.out.println("jsonObject===="+jsonObject); String jsonStr = "['leign','is','a','boy']"; JSONArray jArrayFromStr = JSONArray.fromObject(jsonStr); System.out.println("jArrayFromStr===="+jArrayFromStr); String jsonObjectStr = "{name=\"leign\",year:2009,word:\"hello\"}"; JSONObject jsonObjFromStr = JSONObject.fromObject(jsonObjectStr); Object bean = JSONObject.toBean(jsonObjFromStr); System.out.println("bean===="+bean); System.out.println("name====="+jsonObjFromStr.get("name")); JSON与XML的转换
可利用net.sf.json.xml.XMLSerializer所带的write()、read()等解决 public static String JsonToXml(String jsonStr) { String xmlStr = null; if(jsonStr!=null){ JSON json = JSONObject.fromObject(jsonStr); xmlStr = XMLSerializer.write(json); } return xmlStr; } public static String XmlToJson(String xml) { JSON json = null; if(xml!=null){ json = XMLSerializer.read(xml); } return json.toString(); }
当然也可以自己手动去解析转换,有兴趣可以自己试试.

 

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

相关文章
  • JSON详细学习之JSONObject in JAVA

    JSON详细学习之JSONObject in JAVA

    2016-01-14 12:40

  • Python如何解析JSON数据?

    Python如何解析JSON数据?

    2015-11-11 13:15

  • JavaScript操作JSON总结

    JavaScript操作JSON总结

    2015-11-10 12:19

  • python中将字典转换成其json字符串,pythonjson

    python中将字典转换成其json字符串,pythonjson

    2015-11-04 09:14

网友点评