如何将 simple.JSONArray 转换为 Java 中的普通 JSONArray
How to convert the simple.JSONArray to normal JSONArray in Java
我正在编写一个 JAVA 程序来读取 JSON 文件数据并进行一些处理。
为了从我的 Class 路径资源文件夹中读取 JSON 文件数据,我使用以下代码:
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
String filePath = "src/main/resources/SampleRequest.json";
JSONParser parser = new JSONParser();
Object object = parser.parse(new FileReader(filePath));
JSONArray inputjsonArr = (JSONArray) object;
如我们所见,我正在使用 import org.json.simple.JSONArray
来读取和获取数据。相反,我尝试使用正常的 JSONArray 直接导入 import org.json.JSONArray;
然后我得到错误:
Exception in thread "main" java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONArray
我想知道是否可以将 simple.JSONArray
转换为普通 JSONArray
。或者我是否可以使用直接 import org.json.JSONArray;
从 JSON 文件中读取数据,这样我就根本不必处理这种转换。
org.json.simple
和 org.json
是不同且不兼容的库。
不建议使用 org.json.simple
,因为它 return 的所有值都是 Object
,而 org.json
允许指定什么 type
到 return.
解决方案不是使用 org.json.simple.parser.JSONParser
(删除所有 org.json.simple
导入)而是从相关文件中读取字符串并将其直接传递给 org.json.JSONArray
,像这样:
String json = FileUtils.readFileToString(new File( "src/main/resources/SampleRequest.json"), "UTF-8" );
JSONArray array = new JSONArray(json);
如您所见,为了简单起见,我喜欢使用以下包中的 FileUtils
,因此添加此依赖项:
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
我正在编写一个 JAVA 程序来读取 JSON 文件数据并进行一些处理。 为了从我的 Class 路径资源文件夹中读取 JSON 文件数据,我使用以下代码:
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
String filePath = "src/main/resources/SampleRequest.json";
JSONParser parser = new JSONParser();
Object object = parser.parse(new FileReader(filePath));
JSONArray inputjsonArr = (JSONArray) object;
如我们所见,我正在使用 import org.json.simple.JSONArray
来读取和获取数据。相反,我尝试使用正常的 JSONArray 直接导入 import org.json.JSONArray;
然后我得到错误:
Exception in thread "main" java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONArray
我想知道是否可以将 simple.JSONArray
转换为普通 JSONArray
。或者我是否可以使用直接 import org.json.JSONArray;
从 JSON 文件中读取数据,这样我就根本不必处理这种转换。
org.json.simple
和 org.json
是不同且不兼容的库。
不建议使用 org.json.simple
,因为它 return 的所有值都是 Object
,而 org.json
允许指定什么 type
到 return.
解决方案不是使用 org.json.simple.parser.JSONParser
(删除所有 org.json.simple
导入)而是从相关文件中读取字符串并将其直接传递给 org.json.JSONArray
,像这样:
String json = FileUtils.readFileToString(new File( "src/main/resources/SampleRequest.json"), "UTF-8" );
JSONArray array = new JSONArray(json);
如您所见,为了简单起见,我喜欢使用以下包中的 FileUtils
,因此添加此依赖项:
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>