内容描述:
条件:http://www.aaa/Bbb/ccclist.json
将条件中的json数据转换为javalist形式;
思路(脉络):
1. 读取json字符串;
2. 分析字符串格式;
3. 取出我需要的字符串(按照我需要的格式取出字符串);
4. 查看字符串编码格式是否正确
5. 使用json类库转换为beanlist形式;
6. bean中属性格式要和字符串中的对应;
继续想:
1.读取网址中的json数据需要使用httpclient/httpUrLconnettion读取网址内容;
2.字符串格式如下:{"stutus":2,"result":[{"company_name":"a公司","company_id":"-1"}, {"company_name":"222","company_id":"-55"},{"company_name":"撒旦法接 口"company_id":"-33"},{"company_name":"多的"company_id":"-34"}]}
分析格式:此字符串可以看做map的嵌套,
Map
Map<”status”,”2”>
Map <”result”,”list”>
Map<”company_name”,company.get(company_id)>
Map<”company_id”,company.get(company_name)>
3.取出需要的数据
我需要的数据位result中的list,所以用截取字符串方法将其取出来,这里用到了从0学java总截取字符串数据的的内容substring、indexof这两个知识点。
4.查看字符串格式是否正确
常用编码格式为utf-8,坚持文件属性的编码格式,将其更改为utf-8,或者在读取时用getmethod设置utf-8。
5.使用json类库转换为beanlist形式
首先声明一个objectmapper对象,使用其中的TypeReference方法将我们处理好的数据自动解析为bean形式,存放用该bean类型的list中。
最后遍历输出list中存放内容即可。
声明:此处读取数据来源为iteye一篇博客,使用了其代码,虽然方法很老,但是解决问题了,要把这个问题涉及的知识点好好看一下梳理一下。
全部实现代码如下:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
public class ReadingWebContent {
/**
*
* @param url
* @return
* @throws Exception
*/
public static String getContent(String url) throws Exception{
String CONTENT_CHARSET = "UTF-8";
String backContent = null;
// private static final END_OBJECT = "0";
String eND_OBJECT = "0";
HttpClient httpclient = null;
HttpGet httpget = null;
try {
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 180 * 1000);
HttpConnectionParams.setSoTimeout(params, 180 * 1000);
HttpConnectionParams.setSocketBufferSize(params, 8192);
HttpClientParams.setRedirecting(params, false);
httpclient = new DefaultHttpClient(params);
httpget = new HttpGet(url); httpclient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, CONTENT_CHARSET);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream is = entity.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line);
}
backContent = buffer.toString();
}
} catch (Exception e) {
httpget.abort();
backContent = "���쳣,��ȡ����";
System.out.println("-------------�쳣��ʼ");
e.printStackTrace();
System.out.println("-------------�쳣����");
}finally{
if(httpclient != null)
httpclient.getConnectionManager().shutdown();
}
return backContent;
}
@SuppressWarnings("static-access")
public static void main(String[] args) throws Exception{
ReadingWebContent a = new ReadingWebContent();
String address = a.getContent("http://www.aaa/Bbb/ccclist.json
String data = address.substring(address.indexOf("result") + 8, address.length() -1 );
ObjectMapper mapper = new ObjectMapper();
List<Company> list = mapper.readValue(data, new TypeReference<List<Company>>(){});
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getCompany_id());
System.out.println(list.get(i).getCompany_name());
}
System.out.println(list.size());
}
}
分享到:
相关推荐
这就是如何在Java中读取JSON文件并将其转化为Map进行取值的基本步骤。在实际开发中,你可能需要处理更复杂的JSON结构,包括嵌套的对象和数组,以及各种类型的值。Jackson库提供了丰富的API来应对这些情况,如`@...
接下来,你可以按照以下步骤将JSON转换为Java实体类: 1. 创建一个包含JSON数据的字符串,或者导入一个JSON文件到IDEA项目中。 2. 复制该JSON数据。 3. 使用IDEA的快捷键或找到插件入口,通常是在“Code”菜单下,...
### Java 数据格式转换成 JSON 的全面解析 #### 一、JSON 概述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,最初由 Douglas Crockford 提出。它基于 JavaScript 的语法,但独立于任何编程语言...
java将grib2数据转为json格式,附操作说明,grib2数据文件以及转换后的json文件,数据来源为https://nomads.ncep.noaa.gov/gribfilter.php?ds=gfs_0p25 ECMWF数据由于调整过grib2数据格式,所以不支持解析ECMWF开放...
本篇文章主要探讨如何在Java中存储和检索复杂JSON格式的数据到Redis,并将其返回给前端。以下是实现这一功能的关键知识点: 1. **Redis基本操作**:Redis是一个开源的内存数据结构存储系统,可以当作数据库、缓存和...
SuperMap iObjects Java是一款强大的GIS(地理信息系统)开发工具,能够处理多种地理数据格式,包括DWG。下面我们将逐步介绍开发环境的配置、类路径设置、Eclipse项目的构建以及运行示例程序。 首先,确保你已经...
2. **使用Jackson库**:Jackson是Java最常用的JSON处理库之一,它可以方便地将JSON文本转换为Java对象。首先,需要在`pom.xml`文件中引入Jackson依赖,然后使用`ObjectMapper`类读取JSON文件: ```xml <!-- 在pom....
在 Java 中,读写 JSON 格式的文件主要分为三步:第一步是读取文件内容,第二步是将文件内容格式化成 JSON 对象,第三步是将 JSON 对象转换成 Java 对象。 首先,需要了解 JSON 格式的基本结构,JSON 格式由键值对...
- JSON数据的解析:读取JSON格式的文件或字符串,并将其转化为Java对象。 - JSON数据的生成:从Java对象生成JSON格式的字符串或文件。 - 数据转换:可能提供了将特定数据结构(如CSV、XML)转换为JSON的功能。 - ...
在Java开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛用于前后端数据传输。而将JSON数据解析成Java类是常见的处理方式,这使得数据可以直接映射到Java对象上,便于进一步的操作和...
在Java中,处理JSON数据通常依赖于第三方库,如Jackson、Gson或org.json。这些库提供了将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象的功能。项目源代码可能会包含如何创建JSON对象、解析JSON...
本教程将深入探讨Java中处理JSON数据的方法,包括解析JSON字符串、创建JSON对象、遍历JSON结构以及序列化和反序列化。 一、JSON简介 JSON是一种易于阅读和编写的数据格式,同时被大多数编程语言支持。它基于...
标题 "grib2json -- 将grib2文件转换为json格式" 描述...综上所述,grib2json转换涉及到气象数据存储格式、数据解析技术、json数据交换格式以及软件工具的使用,对于理解和处理气象数据的科研和业务工作具有重要意义。
2. Gson:Gson是Google提供的库,能够将Java对象转换为JSON格式的字符串,以及将JSON数据转换回等效的Java对象。Gson的主要优势在于其简单易用的API。 3. JSON-P(Java API for JSON Processing):这是Java标准API...
例如,`json.load()`函数用于将JSON格式的文本数据读取为Python对象,`json.dumps()`则将Python对象转换为JSON字符串。在本例中,我们需要读取的JSON文件可能包含省市区的层级结构,如中国->省份->城市->区县,这种...
### JSON 数据格式转换详解 #### 一、JSON 数据格式简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但独立于...
在Java编程中,处理JSON(JavaScript Object Notation)格式的数据是一项常见的任务,特别是在与Web服务交互、存储配置信息或序列化对象时。本教程将详细讲解如何使用Java解析具有3层树结构的JSON数据,并扩展到更多...
JSON处理是指将JSON数据转换为其他数据格式或从其他数据格式转换为JSON数据的过程。在本文中,我们将讨论JSON处理的基本概念、JSON处理的方法和技术,以及在Java中使用FastJSON和Jackson进行JSON处理。 一、JSON...
在Java开发中,数据交换和存储常常涉及到JSON(JavaScript Object Notation)格式,因为它轻量级、易读写且被广泛支持。`net.sf.json.JSONObject`是开源库Apache Commons的一个组件,提供了Java对象与JSON对象之间的...
描述中提到了一个实例,也就是使用Jackson库将JSON字符串转换为Java对象(Map),然后使用org.json库读取JSON数组。实例中说明了遇到的困难,即在使用Map读取第一级数据之后,尝试读取数组中的特定值时遇到了问题,...