数据解析为json格式
来源:互联网 发布:西安软件新城二期工程 编辑:程序博客网 时间:2024/05/17 23:55
json是一种轻量级的数据交换格式。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
json格式规则:
1、并列数据间用(",")分隔。
2、映射用(";")表示,例如:"name":"Rose"相当于name="Rose"。
3、并列数据的集合(数组)用("[]")表示。
3、映射的集合(对象)用("{}")表示。
比较复杂的集合嵌套转成json格式,例如:使用json要引入jar包:json-lib-2.1.jar;ezmorph-1.0.6.jar;commons-logging.jar;commons-lang-2.3.jar;commons-collections-3.1.jar;commons-beanutils-1.7.0.jar
//集合嵌套
Map<String,Object> map=new HashMap<String,Object>();
map.put("ret_code", "0");
ap.put("ret_msg", "");
Map<String,Object> data=new HashMap<String,Object>();
List<Object> user_info=new ArrayList<Object>();
Map<String,Object> info=new HashMap<String,Object>();
info.put("qsid", "357");
Map<String,Object> asset=new HashMap<String,Object>();
asset.put("zcc", "939389.0000");
info.put("asset", asset);
info.put("account", "23192794");
info.put("fundid", "2211");
List<Object> business=new ArrayList<Object>();
Map<String,Object> b=new HashMap<String,Object>();
b.put("999", "0");
b.put("2135", "1004616744");
business.add(b);
info.put("business", business);
user_info.add(info);
data.put("user_info", user_info);
data.put("busin_date", "20151015");
List<Object> divided=new ArrayList<Object>();
Map<String,Object> d=new HashMap<String,Object>();
d.put( "stage", "3");
d.put("record_date", "20151015");
d.put("exdividend_date", "20150408");
divided.add(d);
data.put("divided_data", divided);
map.put("ret_data", data);
//转换成json
JSONObject object_json=JSONObject.fromObject(map);//map转成json对象
System.out.println(json);
输出结果:
{
"ret_code":"0",
"ret_data":{
"busin_date":"20151015",
"user_info":[
{
"qsid":"357",
"asset":
{
"zcc":"939389.0000"
},
"account":"23192794",
"fundid":"2211",
"business":[
{
"2135":"1004616744",
"999":"0"
}
]
}
],
"divided_data":[
{
"exdividend_date":"20150408",
"record_date":"20151015",
"stage":"3"
}
]
},
"ret_msg":""
}
工具类JSONArray和JSONObject可以将对象转换成json数组和json对象
//list转成json数组
JSONArray array_json=JSONArray.fromObject(list);
//对象转换json数组
UserInfo user = new UserInfo(1001,"张三");
JSONArray jsonArray = JSONArray.fromObject(user);
//数组转换json数组
String[] arr = {"asd","dfgd","asd","234"};
JSONArray jsonarray = JSONArray.fromObject(arr);
如果要将json返回前端,写到输出流即可,例如:
response.setContentType("text/html;charset=utf-8");
Writer writer=response.getWriter();
writer.writer(json.toString);
writer.flush();
writer.close();
writer=null;
json格式规则:
1、并列数据间用(",")分隔。
2、映射用(";")表示,例如:"name":"Rose"相当于name="Rose"。
3、并列数据的集合(数组)用("[]")表示。
3、映射的集合(对象)用("{}")表示。
比较复杂的集合嵌套转成json格式,例如:使用json要引入jar包:json-lib-2.1.jar;ezmorph-1.0.6.jar;commons-logging.jar;commons-lang-2.3.jar;commons-collections-3.1.jar;commons-beanutils-1.7.0.jar
//集合嵌套
Map<String,Object> map=new HashMap<String,Object>();
map.put("ret_code", "0");
ap.put("ret_msg", "");
Map<String,Object> data=new HashMap<String,Object>();
List<Object> user_info=new ArrayList<Object>();
Map<String,Object> info=new HashMap<String,Object>();
info.put("qsid", "357");
Map<String,Object> asset=new HashMap<String,Object>();
asset.put("zcc", "939389.0000");
info.put("asset", asset);
info.put("account", "23192794");
info.put("fundid", "2211");
List<Object> business=new ArrayList<Object>();
Map<String,Object> b=new HashMap<String,Object>();
b.put("999", "0");
b.put("2135", "1004616744");
business.add(b);
info.put("business", business);
user_info.add(info);
data.put("user_info", user_info);
data.put("busin_date", "20151015");
List<Object> divided=new ArrayList<Object>();
Map<String,Object> d=new HashMap<String,Object>();
d.put( "stage", "3");
d.put("record_date", "20151015");
d.put("exdividend_date", "20150408");
divided.add(d);
data.put("divided_data", divided);
map.put("ret_data", data);
//转换成json
JSONObject object_json=JSONObject.fromObject(map);//map转成json对象
System.out.println(json);
输出结果:
{
"ret_code":"0",
"ret_data":{
"busin_date":"20151015",
"user_info":[
{
"qsid":"357",
"asset":
{
"zcc":"939389.0000"
},
"account":"23192794",
"fundid":"2211",
"business":[
{
"2135":"1004616744",
"999":"0"
}
]
}
],
"divided_data":[
{
"exdividend_date":"20150408",
"record_date":"20151015",
"stage":"3"
}
]
},
"ret_msg":""
}
工具类JSONArray和JSONObject可以将对象转换成json数组和json对象
//list转成json数组
JSONArray array_json=JSONArray.fromObject(list);
//对象转换json数组
UserInfo user = new UserInfo(1001,"张三");
JSONArray jsonArray = JSONArray.fromObject(user);
//数组转换json数组
String[] arr = {"asd","dfgd","asd","234"};
JSONArray jsonarray = JSONArray.fromObject(arr);
如果要将json返回前端,写到输出流即可,例如:
response.setContentType("text/html;charset=utf-8");
Writer writer=response.getWriter();
writer.writer(json.toString);
writer.flush();
writer.close();
writer=null;
0 0
- 数据解析为json格式
- eval将数据解析为Json格式
- 解析JSON格式数据
- 解析json格式数据
- 解析JSON格式数据
- 解析JSON格式数据
- 解析JSON格式数据
- 解析 JSON 格式数据
- json格式数据解析
- js操作cookie,将字符串数据解析为json格式
- Jquery解析Json格式数据
- 模拟json数据解析格式
- java 解析 json格式数据。。。
- java 解析Json格式数据
- C# 解析JSON格式数据
- js解析json格式数据
- java解析json格式数据
- VC解析JSON格式数据
- 添加数据文件,扩充表空间
- mysql操作命令记录
- 奥园地产转型:对外连接客户 对内连接员工
- 《Java编程思想》学习笔记19——并发编程(二)
- ORA-27101: shared memory realm does not exist
- 数据解析为json格式
- Python-OpenCV 处理图像(六):对象识别
- oracle merge into的用法
- Oracle Multitable INSERT 的用法
- JBoss AS7 快速配置
- oracle的正则表达式(regular expression)详细介绍
- 分层查询(Hierarchical Queries)
- windows下配置java程序bat启动
- oracle 外部表