JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
处理JSON字符串时,一直出错,写个样例后发现原来是没有弄清楚数据的格式问题。
实现的是 JSONString 转换成java对象 或是 list列表
实例类 News
package lyx.entity; /**
* @author lyx
*
* 2015-8-10上午10:14:38
*
*
*新闻类
*/
public class News { /**
* 日期
*/
private String date; /**
* 链接
*/
private String link;
/**
* 标题
*/
private String title; public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
} }
測试类:
package test; import java.util.ArrayList;
import java.util.List;
import com.pom.lyx.entity.News; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class Test { /**
* @param args
*/
public static void main(String[] args)
{
String str_news="[{'date':'2015-08-10 14:20:34','link':'http://news.baidu.com/n?cmd=2&class=hongguan&page=http://news.xinhuanet.com/finance/2015-08/10/c_128112246.htm&cls=hongguan','title':'发改委:尽快上报碳排放权交易管理条例 ――百度新闻搜索'}," +
"{'date':'2015-08-10 14:13:22','link':'http://news.xinhuanet.com/finance/2015-08/10/c_128112246.htm','title':'发改委:尽快上报碳排放权交易管理条例-新华网'}," +
"{'date':'2015-08-10 14:02:08','link':'http://guba.eastmoney.com/news,600271,193716538.html','title':'期待信心修复 14股潜伏现最佳时点'}," +
"{'date':'2015-08-10 14:00:42','link':'http://www.escn.com.cn/news/show-259795.html','title':'外媒称中国欲将“APEC蓝”变常态'}]"; //将JSON字符串转换成JSONArray
JSONArray array_news =new JSONArray();
array_news = JSONArray.fromObject(str_news); //JSONArray -> JSONObject ->News ->List
List<News> newsList1 =new ArrayList<News>();
for (int i = 0; i < array_news.size(); i++) {
//JSONObject对象
JSONObject jsonObj =(JSONObject) array_news.get(i); //依据key获取相应的值
System.out.println(jsonObj.getString("title"));
//将JSONObject对象转换成实体类后加入到List列表中
newsList1.add((News) JSONObject.toBean(jsonObj ,News.class));
System.out.println(newsList1.get(i).getTitle()+":"+newsList1.get(i).getLink());
} //JSONArray -> List
@SuppressWarnings("unchecked")
//将JSONArray转换成List列表
List<News> newsList =(List<News>) JSONArray.toCollection(array_news, News.class);
for (News news : newsList) {
System.out.println(news.getDate()+":"+news.getTitle()+":"+news.getLink());
}
}
}
上面实现的是 JSONString 转换成java对象 或是 list列表
JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中的更多相关文章
- List转换成json格式字符串,json格式字符串转换成list
一.List转换成json字符串 这个比较简单,导入gson-x.x.jar, List<User> users = new ArrayList<User>(); Gson g ...
- 将字符串转换成C#认可的对象(有键值对的对象)
var resobj = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JArray>(result ...
- 利用JAXB实现java实体类和xml互相转换
1.应用场景 在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类和xml互相转换 2.Demo 2.1 student.java 实体类,包含list(set同 ...
- js中把JSON字符串转换成JSON对象最好的方法
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- json 字符串转换成对象,对象转换成json字符串
json 字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法: [注意jquery版本问题] var str = '{"name":&qu ...
- json里的日期字符串 怎么 转换成 javascript 的 Date 对象?
“/Date(1232035200000)/” 怎么转换成 javascript 的 Date 对象 做法:new Date(+/\d+/.exec(value)[1]); value就是json字 ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...
- 特殊字符导致json字符串转换成json对象出错
在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问 ...
- JSON字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的
JSON字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的
随机推荐
- laravel JWTAuth实现api接口鉴权(基础篇)
官网:https://jwt-auth.readthedocs.io 参考:https://learnku.com/articles/10885/full-use-of-jwt#99529f 1.to ...
- Failed to resolve filter报错原因
问题 页面写过滤器,控制台报错,Failed to resolve filter 分析 语法错误?先检查 ``` {{ params | filterA }} filters: { filterA: ...
- 使用 PHP + shell 生成 一键设置权限的脚本。
linux 系统 支持PHP脚本一键设置环境.shell脚本一键设置环境.那么 我今天 使用 PHP + shell 生成 一键设置权限的脚本. 举例子:linux服务器 一键配置discuz网站环 ...
- win10下安装psql9,后无法访问数据库引擎
1.修改安装文件兼容性,并启动安装 2.安装后 修改psql control center快捷方式的启动文件兼容性 3.修改 start workgroup engine 快捷方式的启动文件兼容性 一 ...
- Fiddler简介与Web抓包,远程抓包(IE、360、谷歌、火狐)
Fiddler简介以及web抓包 一.Fiddler简介 简单来说,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯.网上简介很多,我们不多说. 二 ...
- xtu read problem training 4 A - Moving Tables
Moving Tables Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ...
- C++ stringstream的用法
Created at stringstream的用法 使用stringstream对象简化类型转换 C++标准库中的<sstream>提供了比ANSI C的<stdio.h&g ...
- IE & table & border & border-collapse & bug
shit IE table border bug & border-collapse bug > `border-collapse: collapse;` table { width: ...
- msp430入门编程04
msp430中C语言的变量与数据类型 msp430入门学习 msp430入门编程
- HDU1166 线段树裸题 区间求和
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...