怎么用json转list的集合对象

怎么用json转list的集合对象,第1张

1 简单的手动放置 键值对 到JSONObject,然后在put到JSONArray对象
List<Article> al = articleMngfind(f);
Systemoutprintln(alsize());
>JSON为什么不能加注释?

添加注释 // 或者 // 在JSON文件中是不允许的

JSON有两种数据结构:

名称/值对的集合:key : value样式;
值的有序列表:就是Array;
而在JSON的文档中说明只要是不符合上面两种结构的都不被支持,并提示错误( >定义一个新的java对象,对象中的字段对应JsonArray中的字段,如果已经有这样的对象,那么就不用定义了。然后使用deviceList = (List<DeviceAddDyn>) jsonArraytoCollection(jsonArray, DeviceAddDynclass);其中DeviceAddDyn是自己定义的类名,如果已有,可以直接替换类名即可。

JSON是一种文本格式结构化数据的序列化。

JSON有四种原始类型:

两种结构化类型:

字符串(string)是以0个或更多的Unicode字符组成的序列。

对象(object)是以键值对(name/value)组成的无序集合,键名(name)必须是字符串类型,键值必须是字符串(string)、数值(number)、布尔(boolean)、空(null)、对象(object)或数组(array)中的一种。

数组(array)是0个或多个值(value)的有序集合。

JSON的设计目标是让JSON成为最小的,便携的,文本的,JavaScript的子集。

JSON 内容类型有如下几种:

根据 RFC 4627 文件,
The MIME media type for JSON text is application/json
Type name: application
Subtype name: json

所以认为:The MIME media type for JSON text is application/json The default encoding is UTF-8。

一、 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。
Json建构于两种结构:
1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如:
{
“name”:”jackson”,
“age”:100
}
2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:
{
“students”:
[
{“name”:”jackson”,“age”:100},
{“name”:”michael”,”age”:51}
]
}
二、java解析JSON步骤
A、服务器端将数据转换成json字符串
首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:)
然后将数据转为json字符串,核心函数是:
public static String createJsonString(String key, Object value)
{
JSONObject jsonObject = new JSONObject();
jsonObjectput(key, value);
return jsonObjecttoString();
}
B、客户端将json字符串转换为相应的javaBean
1、客户端获取json字符串(因为android项目中已经集成了json的jar包所以这里无需导入)
public class >var a=[{"list":[{"count":0,"createTime":"2008-01-25 00:00:00","createUserDept":"","createUserDeptId":"","createUserId":"","createUserName":"","deleteFlag":"0","introduction":"","month":"","pagerSize":0,"periodicalId":"","periodicalName":"admin","periodicalType":"","publishDate":null,"status":"0","updateUserDept":"","updateUserDeptId":"","updateUserId":"","updateUserName":"","year":""},{"count":0,"createTime":"2008-01-25 00:00:00","createUserDept":"","createUserDeptId":"","createUserId":"","createUserName":"","deleteFlag":"0","introduction":"","month":"","pagerSize":0,"periodicalId":"","periodicalName":"admin","periodicalType":"","publishDate":null,"status":"0","updateUserDept":"","updateUserDeptId":"","updateUserId":"","updateUserName":"","year":""}],"pageString":""}]
var list=a[0]list;
for(i=0;i<listlength;i++){
alert(list[i]count);
alert(list[i]createTime);



}
当数组处理,只是成员为对象

List<Map<String,String>> list=new ArrayList();
Map<String,String> m1=new HashMap();
m1put(“xx”, “yyyy-mm-dd”);
m1put(“xxx”, "yyyy-mm-dd");
listadd(m1);
Map<String,String> m2=listget(0);
Set s=m2entrySet();
Iterator it=siterator();
while(ithasNext()){
MapEntry e=(MapEntry)itnext();
String jsonkey=egetKey();
String jsonval=egetValue();
Systemoutprintln("{key:'"+jsonkey+"',value:'"+jsonval+"'}");
}
像这样后台把值拿出来,然后把这个值传给前台就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13359045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存