问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java如何获取JSON的内容

发布网友 发布时间:2022-04-23 04:34

我来回答

4个回答

好二三四 时间:2022-05-19 16:23

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

很多朋友都想知道java怎么读取json?下面就一起来了解一下吧~

首先在json官网页面的下方,在各个语言中的实现方法和操作类库,找到 Java 语言,选择 google-gson。

打开资源管理器,在工程 TestReadJSON 文件夹下,放入一个 JSON 文件:test.json

test.json 的内容:

package com.json; 
import java.io.FileNotFoundException; 
import java.io.FileReader;    
import com.google.gson.JsonArray; 
import com.google.gson.JsonIOException; 
import com.google.gson.JsonObject; 
import com.google.gson.JsonParser; 
import com.google.gson.JsonSyntaxException; 
public class ReadJSON { 
/** 
* 通过解析器将test.json转换成JsonObject 
* 
* @param args 
*/ 
public static void main(String[] args) { 
//将 test.json 的数据转换成 JSON 对象 
//需要创建一个解析器,可以用来解析字符串或输入流 
JsonParser parser=new JsonParser();
try { 
//创建一个JSON对象,接收parser解析后的返回值 
//使用parse()方法,传入一个Reader对象,返回值是JsonElement类型 
//因为要读取文件,所以传入一个FileReader 
//JsonObject是JsonElement的子类,所以需要强转 
//有异常抛出,使用 try catch 捕获 
JsonObject object=(JsonObject) parser.parse(new FileReader("test.json")); 
//先将两个外部的属性输出 category 和 pop 
//先 get 到名称(键),返回的是 JsonElement,再 getAs 转换成什么类型的值 
//依据 json 格式里的数据类型 
System.out.println("category="+object.get("category").getAsString()); 
System.out.println("pop="+object.get("pop").getAsBoolean()); 
//接着读取test.json里的JSON数组,名称是languages(键) 
//创建一个JsonArray 
JsonArray array=object.get("languages").getAsJsonArray(); 
for (int i = 0; i < array.size(); i++) { 
//分隔线 
System.out.println("-----------------"); 
//创建一个JsonObject,从array的下标获取,get() 返回JsonElement类型 
//这里不用强转,而用 getAsJsonObject() 进行转换 
JsonObject subObject=array.get(i).getAsJsonObject(); 
System.out.println("id="+subObject.get("id").getAsInt()); 
System.out.println("name="+subObject.get("name").getAsString()); 
System.out.println("ide="+subObject.get("ide").getAsString()); 
}  
} catch (JsonIOException e) { 
e.printStackTrace(); 
} catch (JsonSyntaxException e) { 
e.printStackTrace(); 
} catch (FileNotFoundException e) { 
e.printStackTrace(); 
} 
}   
}

以上就是小编今天的分享,希望能够帮到大家。

热心网友 时间:2022-05-19 13:31

如果不是Android开发环境的话,首先需要引入处理JSON数据的包:json-lib-2.2.3-jdk15.jar
Java样例程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class DoJSON {
public static void main(String[] args) {
JSONArray employees = new JSONArray(); //JSON数组
JSONObject employee = new JSONObject(); //JSON对象

employee.put("firstName", "Bill"); //按“键-值”对形式存储数据到JSON对象中
employee.put("lastName", "Gates");
employees.add(employee); //将JSON对象加入到JSON数组中

employee.put("firstName", "George");
employee.put("lastName", "Bush");
employees.add(employee);

employee.put("firstName", "Thomas");
employee.put("lastName", "Carter");
employees.add(employee);

System.out.println(employees.toString());
for(int i=0; i<employees.size(); i++) {
JSONObject emp = employees.getJSONObject(i);
System.out.println(emp.toString());
System.out.println("FirstName :\t" + emp.get("firstName"));
System.out.println("LastName : \t" + emp.get("lastName"));
}
}
}
运行效果:
[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]
{"firstName":"Bill","lastName":"Gates"}
FirstName :Bill
LastName : Gates
{"firstName":"George","lastName":"Bush"}
FirstName :George
LastName : Bush
{"firstName":"Thomas","lastName":"Carter"}
FirstName :Thomas
LastName : Carter

热心网友 时间:2022-05-19 14:49

这样的用法不对,rsp是JSONArray格式数据,不能用getString取出,只能用JSONArray rsp = xml.getJSONArray("rsp")取出然后遍历

热心网友 时间:2022-05-19 16:23

求采纳

public static void main(String[] args) {
String json = "{\"xml\":{\"code\":\"0\",\"nonceStr\":\"EAGEGEGAWGWGWAGWAGWAG\",\"rsp\":[{\"aac02\":\"59682656655\"},{\"aac02\":\"59682656656\"},{\"aac02\":\"59682656657\"}]}}";
JSONObject jsonObj = JSONObject.fromObject(json);
JSONObject xml = jsonObj.getJSONObject("xml");
System.out.println(xml);
JSONArray rsp = xml.getJSONArray("rsp");
List<DataRsp> list = new ArrayList<>();
for (int i = 0; i < rsp.size(); i++) {
DataRsp data = (DataRsp) JSONObject.toBean(rsp.getJSONObject(i),DataRsp.class);
list.add(data);
}
System.out.println(list);
}

public class DataRsp {
private String aac02;

public String getAac02() {
return aac02;
}

public void setAac02(String aac02) {
this.aac02 = aac02;
}

@Override
public String toString() {
return "DataRsp [aac02=" + aac02 + "]";
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
重磅|8月1日起 报关单的填法将重大改变 进出口权需要报关员么 宝宝被莫名的虫子咬了又红又肿又痒怎么? 北京疫情个为数是什么意思? 在做刀伤的手术时没有接上神经是医院的过错吗? 手术室收费项目有哪些 手术室的秘密:一台10万的手术,主刀医生拿多少?答案颠覆你的认知 阿里巴巴中修改产品信息只修改一小部分行吗?谢谢 可否给我一个阿里巴巴的序列号~谢谢了 阿里巴巴店铺产品搜索框代码谁有呢,给我发一下谢谢了! json在java中有什么作用 微波炉可以烤火腿肠么 java如何创建Json文件? 微波炉打双汇烤肠要多少分钟? 请问Java中json是什么? 香肠可以放微波炉烤吗? 火腿肠微波炉烤几分钟 微波炉加热火腿肠怎么弄? 火腿肠可以放入微波炉烤吗 微波炉烤火腿肠? 西安地铁单次乘坐从进站到出站最多待多长时间,西安 西安地铁单次乘坐从进站到出站最多待多长时间? 西安地铁如何收费 尤其使用公交卡打折吗 还是如何计 交通运输部回应西安地铁事件,你如何看待这一回应? 西安地铁三号线 《原神》匣里灭辰怎么获取? 西安地铁小孩买票标准 请问西安地铁2号线的具体路线及票价问题。 原神香菱圣遗物搭配方式有哪些? 西安地铁拟禁止使用移动充电物品,官方如何回应? 在java web开发中怎么使用json? Java实现JSON多层遍历 java开发,json是干什么的 怎么用java编写json文件 java如何返回json格式? java中把json怎么转换成数组 java里的JSONObject作用是什么?什么时候用? 用java解析json 格式的字符.该如何解析 怎么在发新浪微博的时候去掉照片上的水印? v20和magic2买哪个好 哪个像素好 微信和支付宝的扫码支付收商户手续费吗? 微信支付宝提现手续费新规 微信、支付宝提现收的手续费是银行收的么? 现在哪款手机的拍照防抖而且很清晰? 快手钱怎么领到微信红包? 快手888红包能提现吗 快手里抢的红包快币可以提现吗? 乐视1s怎么查询wifi密码 乐视wifi密码查看器在哪个软件能下载 乐视电视x系列如何查看wifi密码 或者存放wifi密码的文件夹在哪?