java - 从 json 文本文件加载 JSONObject 的最佳方法是什么?

将包含 JSON 的文件加载到 JSONObject 中的最简单方法是什么。

目前我正在使用 json-lib。

这是我所拥有的,但它会引发异常:

XMLSerializer xml = new XMLSerializer();
JSON json = xml.readFromFile("samples/sample7.json”);     //line 507
System.out.println(json.toString(2));

输出是:

Exception in thread "main" java.lang.NullPointerException
    at java.io.Reader.<init>(Reader.java:61)
    at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
    at net.sf.json.xml.XMLSerializer.readFromStream(XMLSerializer.java:386)
    at net.sf.json.xml.XMLSerializer.readFromFile(XMLSerializer.java:370)
    at corebus.test.deprecated.TestMain.main(TestMain.java:507)

最佳答案

感谢@Kit Ho 的回答。我使用了您的代码,发现在创建 JSONObject 时我的 InputStream 始终为 null 和 ClassNotFound 异常的地方不断遇到错误。这是我的代码版本,对我有用:

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;

import org.json.JSONObject;
public class JSONParsing {
    public static void main(String[] args) throws Exception {
        File f = new File("file.json");
        if (f.exists()){
            InputStream is = new FileInputStream("file.json");
            String jsonTxt = IOUtils.toString(is, "UTF-8");
            System.out.println(jsonTxt);
            JSONObject json = new JSONObject(jsonTxt);       
            String a = json.getString("1000");
            System.out.println(a);   
        }
    }
}

我发现这个答案对 difference between FileInputStream and getResourceAsStream 很有启发性。 .希望这对其他人也有帮助。

https://stackoverflow.com/questions/7463414/

相关文章:

java - 带有 MVC 的 Spring 3 JSON

json - 使用 Grails 在服务器端获取 JSON 数据

json - 如何配置spring mvc 3在json响应中不返回 "null"对象?

java - Spring 3.2 测试,com.jajway 不包含在依赖项中

json - 如何在 Perl 中将简单的哈希转换为 json?

javascript - 使用来自 JSON 数据的不同值,而不是使用 Typeahead 的 di

xml - 如何在 JSON 中表达 XML 标记属性?

asp.net-mvc - ASP.NET MVC 读取原始 JSON 发布数据

javascript - Socket.io 如何发送 JavaScript 对象

iphone - JSONKit解析json字符串