java 解析json数据例子:
json数据demo1 :
{"errCode":"0","data":{"validDrawNumToday":0}}
json数据demo2:
{"errCode":"0","data":{"validDrawNumToday":0,"drawQrcodeUrl":"http://h5.itv.cp21.ott.cibntv.net/lottery/draw/acceptqrcode.html?devId=test_x","prize":{"id":2,"name":"多啦a梦星座","picTv":"http://i1.img.cp21.ott.cibntv.net/lc04_iscms/201607/28/10/39/f8aebd254c4c4a51903f56ea5a6dd4ec.png","picMobile":"http://i3.img.cp21.ott.cibntv.net/lc06_iscms/201607/29/11/22/c100737ff9af47ba86bebbc07e8216d3.png"}}}java 的访问url解析json内容,保存指定的字段“prize”字段的值
package tvguess;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Iterator;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class changedevid {
public static String getWebContent(String Url) {
HttpGet httpGet = new HttpGet(Url);
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse httpResponse = null;
try {
httpResponse = httpClient.execute(httpGet);
} catch (IOException e) {
e.printStackTrace();
}
HttpEntity entity = httpResponse.getEntity();
if (entity != null)
try {
return EntityUtils.toString(entity, "UTF-8");
} catch (ParseException | IOException e) {
e.printStackTrace();
}
return null;
}
/**
* json中可以不带字prize字段
* @param strResult
* @return
*/
public static String parseJsonMulti(String strResult) {
System.out.println("parse start....");
String prize = "";
try {
JSONObject jobject = new JSONObject(strResult);
JSONObject jdata = jobject.getJSONObject("data");
System.out.println(jdata);
//循环查找出json属性值
Iterator<?> objkey=jdata.keys();
while (objkey.hasNext()){
String aa2 = (String) objkey.next().toString();
String bb2 = jdata.getString(aa2);
System.out.println(aa2+":"+bb2);
if(aa2.equals("prize")){
System.out.println("------------");
String prizeresult = bb2;
System.out.println("prizerresult:"+ prizeresult);
fileprize("prize.txt", prizeresult);
}else{
System.out.println("no prize");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return prize;
}
/**
* json中必须带prize的字段
* @param strResult
* @return
*/
public static String parseJsonMulti01(String strResult) {
System.out.println("parse start....");
String prize = "";
try {
// 直接查找元素子元素
JSONObject jobject = new JSONObject(strResult);
JSONObject jdata = jobject.getJSONObject("data");
JSONObject jprize = jdata.getJSONObject("prize");
prize = jprize.getString("id") + "," + jprize.getString("name") + "/n";
System.out.println(prize);
} catch (JSONException e) {
e.printStackTrace();
}
return prize;
}
public static void fileprize(String fileName, String content) {
RandomAccessFile randomFile = null;
try {
randomFile = new RandomAccessFile(fileName, "rw");
long fileLength = randomFile.length();
randomFile.seek(fileLength);
randomFile.writeBytes(content);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (randomFile != null) {
try {
randomFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) throws IOException {
int x = (int) (Math.random() * 100000);
//String strUrl = "http://h5.itv.cp21.ott.cibntv.net/api/lottery/draw.json?devId=test_" + x;
String strUrl = "http://10.58.100.90/jsondatedemo.txt";
System.out.println(strUrl);
String strResult = getWebContent(strUrl);
System.out.println(strResult);
String prize = parseJsonMulti(strResult);
//String prize = parseJsonMulti01(strResult);
//fileprize("prize.txt", prize);
}
}
--------------------------------------------------------------------------------------
json查找数组的代码
public String parseJsonMulti(String strResult) {
// public void parseJsonMulti(String strResult,TextView etContent) {
System.out.println("parse start....");
String channelid = "";
//List livelist = new ArrayList();
try {
//JSONArray jsonArray = new JSONArray(String.valueOf(msg.obj));
JSONObject jsonObject = new JSONObject(strResult.toString());
JSONArray arrayJson = jsonObject .getJSONArray("data");
// etContent.setText("parse start...");
String str = "urlconnect:";
for (int i=0;i<arrayJson.length();i++)
{
JSONObject tempJson = arrayJson.optJSONObject(i);
//JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
str=str+"第"+i+"个,频道id:"+tempJson.getString("channelId")+"\n";
// etContent.setText(str);
// str2 = str2+"type:"+tempJson.getString("type")+"频道id:"+tempJson.getString("channelId")+"\n";
// str2 = str2+tempJson.getString("type")+tempJson.getString("channelId");
channelid=channelid+tempJson.getString("channelId")+",";
// livelist.add(i);
// etContent.setText(str2);
System.out.println(channelid);
// Log.v("zms", str);
}
System.out.print(str);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// etContent.setText("error");
}
return channelid;
}
相关推荐
本篇文章主要聚焦于`json-lib`这个库,它是一个非常实用的Java JSON处理库,支持多种Java集合和JavaBeans到JSON的转换。 `json-lib`库的核心功能包括: 1. **JSON对象的创建**:可以使用`JSONObject`类来创建和...
以下是一些常见的Java JSON处理库及其相关知识点: 1. **Jackson** Jackson是Java最常用的JSON库之一,由FasterXML提供。它提供了多种API,如`Jackson-databind`、`Jackson-core`和`Jackson-annotations`。`...
总结,Gson作为Java中的强大JSON处理库,提供了简单易用的API,能够方便地完成JSON与Java对象之间的转换。通过学习和掌握Gson的使用,可以提高JSON处理的效率和代码质量。在实际项目中,结合Gson的高级功能,可以...
在Java中,处理JSON通常需要借助特定的库或框架,而“JAVA 全部JSON包”可能指的是一个包含多种Java JSON处理库的压缩包。在这个包中,我们看到一个名为`json-lib`的文件,这可能是`json-lib`库,它是一个流行的Java...
在"java 所有的json包"这个主题下,我们将深入探讨JSONLib,一个流行的Java JSON处理库。 JSONLib是Java中的一个开源库,它提供了一系列API来方便地处理JSON格式的数据。这个库主要包含以下组件: 1. **json**: 这...
以下我们将深入探讨Java JSON处理的关键知识点。 1. **Jackson库**: Jackson是Java最流行的JSON处理库之一,它提供了`com.fasterxml.jackson.databind`包下的`ObjectMapper`类,可以将Java对象转换为JSON字符串,...
为了在Java中处理JSON,通常需要依赖第三方库,本话题将详细介绍三个常用的Java JSON处理库:Gson、Jackson以及Json-lib。 1. Gson库: Gson是Google提供的一个开源库,它能够将Java对象转换为JSON字符串,同时也...
总的来说,json-lib是一个方便的Java JSON处理工具,通过它我们可以轻松地在Java世界和JSON数据之间穿梭。在解压并导入"java json-lib打包下载.rar"文件后,你将能够无缝地在项目中集成JSON处理功能,从而提升开发...
总结来说,这个“Java json全套依赖包”提供了一个便捷的方式,将各种常用的Java JSON处理库整合在一起,帮助开发者快速在项目中启用JSON功能,无论是简单的数据交换还是复杂的JSON操作,都能找到相应的解决方案。...
Jackson是Java最流行的JSON处理库之一,提供了高效的性能和丰富的功能。它的主要组件包括: - `com.fasterxml.jackson.databind.ObjectMapper`: 用于将Java对象转换为JSON和从JSON反序列化。 - `...
4. **与其他框架的集成**:库可以方便地与Spring、Jackson、Gson等Java JSON处理框架集成,使得在整个应用程序中实现JSON Schema验证变得简单。 5. **性能优化**:虽然JSON Schema验证可能涉及复杂的递归和规则检查...
这里我们重点讨论使用Jackson库进行转换,因为它是目前最流行的Java JSON处理库之一,同时支持XML和JSON。 要将XML转换为JSON,我们需要使用Jackson的两个模块:`jackson-dataformat-xml`和`jackson-databind`。...
标题"java使用json需要的jar包(最新)"指出,这是一个包含最新版本的Java JSON处理库的jar包。在Java世界中,常用的JSON库有Jackson、Gson、org.json和FastJSON等。这些库都提供了jar文件,供开发者导入到项目中使用...
在处理过程中,如果数据包含JSON格式,可能需要使用Java的JSON库进行解析或转换,因此理解JSON处理机制至关重要。 1. **Gson**:Google开发的Gson库可以将Java对象直接转换为JSON字符串,反之亦然。如果在Sqoop中...
首先,`Json.jar` 是一个JSON处理的库,它可能指的是`org.json`库,这是一个轻量级的、开源的Java JSON处理库。这个库提供了一系列的类和方法,用于解析、生成和操作JSON对象。例如,`JSONObject`用于创建和操作JSON...
2. **json-lib-2.0-jdk15.jar**:这是一个Java JSON处理库,它为多种Java平台(包括JDK 1.5)提供了JSON支持。Json-lib提供了将Java对象转换为JSON表示和从JSON文本反序列化回Java对象的方法,例如JSONObject、...
以下是一些主要的Java JSON处理库及其相关知识点: 1. **Jackson** Jackson是Java中最流行的JSON库之一,由 FasterXML 维护。它提供了一套全面的API,包括`com.fasterxml.jackson.databind.ObjectMapper`,用于将...
例如,Google的Gson库、Apache的FasterXML的Jackson库和阿里巴巴的fastjson库都是非常流行的Java JSON处理库。这些库提供了更多灵活且强大的功能来处理JSON数据,包括自定义序列化和反序列化的规则、更灵活的数据...
`json-lib-2.4-jdk15.jar`是Json-lib库,这是一个针对多种Java平台的JSON处理库。它可以将Java对象转换为JSON表示,并将JSON数据转换回Java对象。对于JSON的解析和序列化,这个库提供了丰富的API支持,包括处理JSON...
在Java中处理JSON,我们通常需要依赖第三方库,比如JSON-lib,这是一个非常流行的Java JSON处理库。 JSON-lib提供了丰富的API,使得在Java中解析、生成、操作JSON对象变得非常方便。它支持多种Java对象到JSON的转换...