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字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的
随机推荐
- MySQL 中去重 distinct 用法
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...
- vue工程化与路由router
一.介绍 vue.js 是 目前 最火的前端框架,vue.js 兼具 angular.js 和 react.js 的优点,并剔除它们的缺点.并且提供了很多的周边配套工具 如vue-router ...
- Spring Data Redis入门示例:基于RedisTemplate (三)
使用底层API:RedisConnection操作Redis,需要对数据进行手动转换(String <---->byte),需要进行多数重复性工作,效率低下:org.springframe ...
- ios打电话发短信接口
电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [[UIApplication sharedApplicatio ...
- js页面文字选中后分享实现
var $sinaMiniBlogShare = function(eleShare, eleContainer) { var eleTitle = document.getElementsByTag ...
- Layui表格之动态添加数据(表格多选解决方案)
前言: Layui已经给出了多选记录的解决方案,是在每条数据的前面加上CheckBox,每次选择都有监听.效果是这样: 实现监听的代码如下,这是一种解决选择多条数据的方案: table.on('edi ...
- 【Python实践-10】用sorted()对列表排序
#按名字排序 l2= [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] def by_name(t): return t[0] l2=so ...
- 【Codeforces 1117C】Magic Ship
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 我们可以把这个行船的过程分解成两个过程 1.船经过时间t被风吹到了某个地方 2.船用这t时间尝试到达终点(x2,y2) 会发现如果时间t能最终 ...
- 2018 & 微信小程序
2018 & 微信小程序 Wafer2 快速开发 Demo 本仓库是最简版的 Wafer2 开发套件,建议配合腾讯云微信小程序开发者工具解决方案一起使用.适用于想要使用 Wafer SDK 开 ...
- zoj4710暴力
#include<stdio.h> #include<string.h> #define N 110 int map[N][N]; int main() { int n,m,k ...