java 从 JSON 字符串 中 取值

#########################################################

[{"author":"木林人",
"browseAmount":0,
"crawlerTime":{"date":14,"day":1,"hours":16,"minutes":43,"month":1,"seconds":58,"time":1297673038578,"timezoneOffset":-480,"year":111},
"id":{"inc":63453508,"machine":508275504,"new":false,"time":1297673039000},
"isUrlAvaliable":"0",
"lastReplier":"",
"lastReplyTimeDate":null,
"replyAmount":112,
"schedulerId":{"inc":-1797963497,"machine":508291790,"new":false,"time":1297672979000},
"title":"“火车头”的春运故事 ",
"updatetime":0,
"url":"http://forum.book.sina.com.cn/thread-4139333-1-1.html",
"website":"sina"}]



#########################################################

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;



JSONArray jsonarray = JSONArray.fromObject(data);

if (trackType.indexOf("keyword") != -1) {
addKeywordTrack(jsonarray);
} else if (trackType.indexOf("functionary") != -1) {
addFunctionaryTrack(jsonarray);
} else if (trackType.indexOf("department") != -1) {
addDepartmentTrack(jsonarray);
} else {
System.out.println("-> 注意 可能有错误");
}
}

private void addKeywordTrack(JSONArray jsonarray) {
if (trackType.equals("keywordBbs")) {
for (int i = 0; i < jsonarray.size(); i++) {
try {
JSONObject jsonObject = jsonarray.getJSONObject(i);

String reply = jsonObject.getString("replyAmount");
String click = jsonObject.getString("browseAmount");
String time = DateUtil.DateTimeToStr(new Date()); // 入库时间
//String date = jsonObject.getString("lastReplyTimeDate");
long time = null;
try {
String crawlerTime = jsonObject.getString("crawlerTime");
if(crawlerTime != null && !"".equals(crawlerTime) && !"null".equals(crawlerTime)){
JSONObject object = JSONObject.fromObject(crawlerTime);
time = object.getLong("time");
}
String date = DateUtil.DateTimeToStr(new Date(time));
} catch (net.sf.json.JSONException e) {
}

if (date == null || date.equals("null"))
date = "";
Java,从JSON类型的List取值通常涉及以下步骤: 1. 引入JSON处理库:首先需要一个可以解析JSON的库,常见的有Google的Gson库、Jackson、Fastjson等。这里以Gson为例,首先需要在项目添加Gson的依赖。 2. 解析JSON字符串:使用Gson将JSON格式的字符串解析为Java对象。Gson可以将JSON字符串转换成Java对象,也可以将Java对象转换成JSON字符串。 3. 遍历List取值:将解析得到的JSON对象转换为具体的Java对象或者Map集合,然后遍历这个集合取出所需的数据。 下面是一个简单的示例代码: ```java import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; // 假设有一个JSON字符串表示的List数据 String jsonListStr = "[{\"name\":\"张三\",\"age\":20},{\"name\":\"李四\",\"age\":22}]"; // 创建Gson实例 Gson gson = new Gson(); // 将JSON字符串转换为List的类型,这里假设列表储的是具有name和age属性的对象 Type listType = new TypeToken<ArrayList<YourObject>>() {}.getType(); // 解析JSON字符串到List List<YourObject> userList = gson.fromJson(jsonListStr, listType); // 遍历List取值 for(YourObject user : userList) { System.out.println("Name: " + user.getName() + ", Age: " + user.getAge()); } ``` 在这个示例,`YourObject` 是一个自定义的Java类,用于表示列表的单个对象,并且它应该具有与JSON对象属性对应的成员变量以及相应的getter方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值