您的位置:首页 > Web前端 > JavaScript

Json 学习总结

2017-02-15 08:51 239 查看

json 学习总结下:

其实json就是一种数据格式,参照了javascript(以下简称js)的语法,
一个js对象:{“name1”:value,”name2”:value}
一个js数组:[{“name1”:value,”name2”:value},{“name1”:value,”name2”:value}]
JSON的数据格式刚好和js的对象、数组一样
JSON主要是要学会它的API(尤其在java里)
在js里的两个API
1.符合json格式的字符串→js对象或数组 JSON.parse(str)
2.js对象或数组→json格式字符串 JSON.stringify(obj);
 
说说JAVA里的JSON应用
1.首先要导包 ps:
记一次未解决的异常:java.lang.NoClassDefFoundError:net/sf/json/JSONObject
通过自己试验这个包最好放在web-root→web-inf→lib下:否则会发生上诉错误,
参考地址:http://www.cnblogs.com/gossip/p/5369670.html
猜测,如果不放在tomcat里估计会得不到包,反正后来放了就好了
如图:

 


2.需要了解json在java里的几个重要的API
①Java对象→JSON字符串 JSONObject.fromObject(obj).toString();
②Java数组/集合→JSON字符串JSONArray.fromObject(objs).toString();
③JSON字符串→Java对象 分两步:
JSONObject  jsonObject = JSONObject.fromObject(jsonStr);
       Friend  f = (Friend)JSONObject.toBean(jsonObject, Friend.class);
④JSON字符串→Java数组或集合分两步:
数组:String jsonStr =
"[{\"name\":\"Lucy\",\"age\":18},{\"name\":\"Dalin\",\"age\":20},{\"name\":\"Tom\",\"age\":29}]";
JSONArray  jsonArr = JSONArray.fromObject(jsonStr);
Friend[] fs = (Friend[])JSONArray.toArray(jsonArr,Friend.class);
集合:String jsonStr = "[{\"name\":\"Lucy\",\"age\":18},{\"name\":\"Dalin\",\"age\":20},{\"name\":\"Tom\",\"age\":29}]";
JSONArray   jsonArr = JSONArray.fromObject(jsonStr);
List<Friend> fs = (List<Friend>)JSONArray.toCollection(jsonArr, Friend.class);
 
关键点在于json字符串一定要符合json格式。
另外这是在知道java类的前提下,可以多一个参数“类名.class”,如果是个Object,不知道具体类的时候,可以省略这个参数,那就转成一个集合
 
写到这里不得不说一下Hibernate
4000
获取数据时遇到的一些问题。
看截图吧!



通过试验,那两句话果然是多余的,因为result就是一个list
为了给客户端得到一个json字符串,这里想尽办法将hibernate获得的数据,进行封装,这样客户端处理起来就简单了。
以后应该有很好的框架吧,这里我就是这么写的,因为这里hibernate查询,我用了排序,所以获得的并非一个Product对象,我想应该是有hql语句可以办到的,但是我还没学到hibernate,等学到了再说吧
PS20160922,补充内容:关于日期转换成json,参考地址:http://blog.csdn.net/btt2013/article/details/50155949
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: