Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中从单个文件读取多个JSON对象?_Java_Json_Object - Fatal编程技术网

如何在Java中从单个文件读取多个JSON对象?

如何在Java中从单个文件读取多个JSON对象?,java,json,object,Java,Json,Object,我在文件中存储了多个JSON对象,例如Test.JSON 当我尝试读取该文件时,问题就出现了,它不允许我读取多个json对象。我想从文件中读取所有对象 有没有办法做到这一点?尝试使用JSONArray JSONArray JArray = new JSONArray(JSON_FILE_AS_STRING); 然后可以在对象之间循环 JSONObject jObj = new JSONObject(); jObj = JArray.getJSONObject(i); JSON不指定值序列(除

我在文件中存储了多个JSON对象,例如
Test.JSON

当我尝试读取该文件时,问题就出现了,它不允许我读取多个json对象。我想从文件中读取所有对象


有没有办法做到这一点?

尝试使用
JSONArray

JSONArray JArray = new JSONArray(JSON_FILE_AS_STRING);
然后可以在对象之间循环

JSONObject jObj = new JSONObject();
jObj = JArray.getJSONObject(i);

JSON不指定值序列(除了将它们放入数组)。因此,这始终依赖于实现。文件中的值是否以某种方式分开了?我会尝试对IO使用Decorator模式—一个实现java.IO.Reader并存储对另一个读取器(委托)的引用的包装器。例如,Decorator将添加额外的字符,以将读取对象的序列表示为JSON数组。当您第一次调用read时,装饰器会在从委托读取的内容之前的开头添加“[”,当委托读取最后一个字符时,装饰器会在结尾添加“]”,以完成数组。当装饰器在从委托读取的字符中发现您的对象之间存在分隔符时,它会将分隔符替换为“,'在对象之间…或者只是一部分一部分地读取和解析文件。仅供参考,这是一个流式解析器,可以轻松地用于缓冲读取,甚至是逐字节读取