整理下fastjson的用法,

一:java后台的写法:

//首先肯定是要先把fastjson那个包弄来引好,具体操作百度上很多。。。

JSONArray json = new JSONArray();//json数组

JSONObject j = new JSONObject();//JSONObject对象

DocRelease[] releasedocs =getDocs(userOid);//假设这个是有多条公文的数组

for (DocRelease d : releasedocs) {

JSONObject jsonObject1 = new JSONObject();//临时创建一个JSONObject对象存每个键值对

jsonObject1.put("docId", d.getHandle());

jsonObject1.put("createDate", d.getCreateDate().toString());

jsonObject1.put("title", d.getDocTitle());

json.add(jsonObject1);最后把所有键值对的JSONObject全加到json数组里

}

j.put("docList", json);//最后把这个json数组放到另一个JSONObject里面并通过j.toString()进行序列化等操作传值。(序列化好像只能这么传值,不能直接把对象传过去)

然后接收:JSONObject rjo = JSONObject.parseObject(result);//这里的result就是j.toString();

JSONArray workItems = rjo.getJSONArray("docList");//取出json数组

然后for循环遍历workItems:

JSONObject workItem = JSONObject.parseObject(workItems.get(i).toString());//单个JSONObject                                             对象,里面存有多个键值对。

String groupName = workItem.getString("groupName");//然后就能取到具体某个属性了!

二:在js的写法:

先给大家看一段json的String:仔细看结构,它是有个Notifications头的,就相当于一个集合(数组)的名称,然后便是这个集合(数组),标志是啥呢,[ ],是的没错! 然后[ ]里面呢,有三个{ },每个{ }就相当于一个JSONObject,//通过Notifications.get(i)来取每个对象。

var jsonStr = "{\"Notifications\":[{\"time\":\"2017-9-22 14:15\",\"content\":\"测试推送1\"},{\"time\":\"2017-9-22 14:15\",\"content\":\"测试推送2\"},{\"time\":\"2017-9-22 14:15\",\"content\":\"测试推送3\"}]}";

var obj = JSON.parse(jsonStr);

var NFjsonarray = obj.Notifications;//json对象是可以直接.key获取value的。js这么写的,不知道                                                                           java后台可不可以这么写

var myNotificationData = me.comp("myNotificationData");

myNotificationData.clear();

for (var i = 0; i < NFjsonarray.length; i++) {

myNotificationData.add({

pid : i,

time : NFjsonarray[i].time,

content : NFjsonarray[i].content

});

}

你可能感兴趣的:(整理下fastjson的用法,)