java读取json数据并解析输出对象

1 源数据

{
    "code":200,
    "msg":"success",
    "data":{
        "name":"导演",
        "age":20,
        "sex":"girl"
    }
}
{
    "code":200,
    "msg":"success",
    "data":[
         {
        "name":"导演",
        "age":20,
        "sex":"girl"
    },{
        "name":"灰太狼",
        "age":21,
        "sex":"boy"
    },{
        "name":"有勇气的牛排",
        "age":19,
        "sex":"girl"
    }
   ]
}

2 方案

2.1 maven 阿里 fastjson

  1. fastjson地址

  2. fastjson指南

  3. 安卓版本(未测)

    http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.51.android/
    
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.28</version>
</dependency>
2.1.1 解析JSON对象
String jsonData="{\n" +
                "    \"code\":200,\n" +
                "    \"msg\":\"success\",\n" +
                "    \"data\":{\n" +
                "        \"name\":\"导演\",\n" +
                "        \"age\":20,\n" +
                "        \"sex\":\"girl\"\n" +
                "    }\n" +
                "}";
//先把String对象转换成json对象
JSONObject object= JSONObject.parseObject(jsonData);

System.out.println(object.get("code"));
System.out.println(object.getJSONObject("data").get("name"));
System.out.println(object.getJSONObject("data").get("age"));
System.out.println(object.getJSONObject("data").get("sex"));

在这里插入图片描述

2.1.2 解析JSON对象数组
String jsonData="{\n" +
                "    \"code\":200,\n" +
                "    \"msg\":\"success\",\n" +
                "    \"data\":[\n" +
                "         {\n" +
                "        \"name\":\"导演\",\n" +
                "        \"age\":20,\n" +
                "        \"sex\":\"girl\"\n" +
                "    },{\n" +
                "        \"name\":\"灰太狼\",\n" +
                "        \"age\":21,\n" +
                "        \"sex\":\"boy\"\n" +
                "    },{\n" +
                "        \"name\":\"有勇气的牛排\",\n" +
                "        \"age\":19,\n" +
                "        \"sex\":\"girl\"\n" +
                "    }\n" +
                "   ]\n" +
                "}";
//先把String对象转换成json对象
JSONObject object= JSONObject.parseObject(jsonData);

List<HashMap> list =JSON.parseArray((object.get("data")).toString(), HashMap.class);
for(int i=0;i<list.size();i++){
    System.out.println(list.get(i).get("name"));;
}

在这里插入图片描述

参考文章
https://www.runoob.com/w3cnote/fastjson-intro.html
https://qushen.blog.csdn.net/article/details/83515840

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用 Java 中的 `JSONObject` 和 `JSONArray` 类来读取解析 JSON 文件。下面是一个简单的示例代码: ```java import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONException; import java.nio.file.Files; import java.nio.file.Paths; public class JSONParser { public static void main(String[] args) { try { // 读取 JSON 文件内容 String jsonContent = new String(Files.readAllBytes(Paths.get("data.json"))); // 创建 JSONObject JSONObject jsonObject = new JSONObject(jsonContent); // 获取各个字段的值 String name = jsonObject.getString("name"); int age = jsonObject.getInt("age"); boolean isStudent = jsonObject.getBoolean("isStudent"); // 创建 JSONArray JSONArray hobbiesArray = jsonObject.getJSONArray("hobbies"); // 遍历数组并获取值 for (int i = 0; i < hobbiesArray.length(); i++) { String hobby = hobbiesArray.getString(i); System.out.println(hobby); } } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码假设你有一个名为 "data.json" 的 JSON 文件。在代码中,我们首先读取 JSON 文件的内容,然后创建一个 `JSONObject` 对象,并通过键名来获取各个字段的值。如果字段的值是一个数组,我们可以使用 `getJSONArray` 方法获取该数组,并遍历数组获取每个元素的值。 需要注意的是,上述代码使用了 `org.json` 包来处理 JSON 数据。你可以在项目中引入此包,或者使用其他 JSON 处理库,如 Jackson、Gson 等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有勇气的牛排

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值