首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用javax.json包读取JSON文件?

如何使用javax.json包读取JSON文件?
EN

Stack Overflow用户
提问于 2016-09-30 16:08:06
回答 1查看 12.6K关注 0票数 9

我相信我将需要创建一个JsonReader对象并调用其中一个Json静态方法,但是我在读取我的file.json时遇到了问题。

create reader方法似乎要求输入是一个字符串。我应该从尝试将整个JSON文件解释为字符串开始吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-30 16:13:14

假设您有包含以下JSON数据的文件person.json

代码语言:javascript
复制
{ 
    "name": "Jack", 
    "age" : 13, 
    "isMarried" : false,
    "address": { 
        "street": "#1234, Main Street", 
        "zipCode": "123456" 
    },
    "phoneNumbers": ["011-111-1111", "11-111-1111"]
}

使用javax.json,您可以这样解析文件:

代码语言:javascript
复制
public class Example {

    public static void main(String[] args) throws Exception {
        InputStream fis = new FileInputStream("person.json");
     
        JsonReader reader = Json.createReader(fis);
     
        JsonObject personObject = reader.readObject();
     
        reader.close();
     
        System.out.println("Name   : " + personObject.getString("name"));
        System.out.println("Age    : " + personObject.getInt("age"));
        System.out.println("Married: " + personObject.getBoolean("isMarried"));

        JsonObject addressObject = personObject.getJsonObject("address");
        System.out.println("Address: ");
        System.out.println(addressObject.getString("street"));
        System.out.println(addressObject.getString("zipCode"));
     
        System.out.println("Phone  : ");
        JsonArray phoneNumbersArray = personObject.getJsonArray("phoneNumbers");

        for (JsonValue jsonValue : phoneNumbersArray) {
            System.out.println(jsonValue.toString());
        }
    }
}

也可以参考这个问题:From JSON String to Java Object using javax.json

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39786643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档