发布网友 发布时间: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热心网友 时间:2022-05-19 14:49
这样的用法不对,rsp是JSONArray格式数据,不能用getString取出,只能用JSONArray rsp = xml.getJSONArray("rsp")取出然后遍历热心网友 时间:2022-05-19 16:23
求采纳
public static void main(String[] args) {