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字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的
随机推荐
- 反射(hasattr,getattr,delattr,setattr)
反射(hasattr,getattr,setattr,delattr) 反射在类中的使用 反射就是通过字符串来操作类或者对象的属性 反射本质就是在使用内置函数,其中反射有四个内置函数: hasattr ...
- ie11 突然不能加载外部css 很神奇 头部改为 <!DOCTYPE> <html>
<!DOCTYPE html> <html> 改为 <!DOCTYPE> <html> OK了
- CAD使用SetxDataString写数据(com接口)
主要用到函数说明: MxDrawEntity::SetxDataString 写一个字符串扩展数据,详细说明如下: 参数 说明 [in] BSTR val 字符串值 szAppName 扩展数据名称 ...
- E. String Multiplication
E. String Multiplication time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- filezilla server FTP 安装报错 "could not load TLS network. Aborting start of administration interface"
filezilla server FTP 安装报错 "could not load TLS network. Aborting start of administration inter ...
- java上传文件大小转换(字节转kb/mb/gb)
/** * 字节转kb/mb/gb * @param size * @return */ public String getPrintSize(long size) { //如果字节数少于1024,则 ...
- MFC模拟鼠标点击
MFC 工程 把以下代码放到你想要响应的函数里面就行 CPoint pt; GetCursorPos(&pt);//获取鼠标在屏幕的当前位置 SetCursorPos(100,200);//移 ...
- IO之转换流举例
import java.io.*; public class TestTransForm1 { public static void main(String[] args) { try { Outpu ...
- [Python3网络爬虫开发实战] 7.1-Selenium的使用
Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击.下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬.对于一些JavaScript动态渲染的页面来说 ...
- Matlab学习笔记(二)
二.MATLAB基础知识 (二)数值.变量和表达式 命名规则: 变量名对大小写敏感,即区分大小写 变量名必须以字母开头,后面可以采用数字.下划线和字母,但不能使用空格.标点符号和运算符 变量名最长可以 ...