- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
JSON1:
{
"array1": [
{
"id": "1",
"Name": "Xytrex Co.",
"Description": "Industrial Cleaning Supply Company",
"Account Number": "ABC15797531",
"Address": {
"Permanent": {
"Street": "st.road",
"pin": "789723"
},
"Temporary": {
"Street": "st.road",
"pin": "789723"
}
}
},
{
"id": "2",
"Name": "Xytrex Co.",
"Description": "Industrial Cleaning Supply Company",
"Account Number": "ABC15797531",
"Address": {
"Permanent": {
"Street": "st.road",
"pin": "789723"
},
"Temporary": {
"pin": "789723"
}
}
}
]
}
JSON2:
{
"array2": [
{
"id": "1",
"Name": "Xytrex Co.",
"Description": "Industrial Cleaning Supply Company",
"Account Number": "ABC15797531",
"Address": {
"Permanent": {
"Street": "st.road",
"pin": "789723"
},
"Temporary": {
"Street": "st.road",
"pin": "789723"
}
}
},
{
"id": "2",
"Name": "Xytrex Co.",
"Description": "Industrial Cleaning Supply Company",
"Account Number": "ABC15797531",
"Address": {
"Permanent": {
"Street": "st.road",
"pin": "789723"
},
"Temporary": {
"Street": "st.road",
"pin": "789723"
}
}
}
]
}
我使用的代码:
package com.company;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import org.skyscreamer.jsonassert.JSONAssert;
import org.skyscreamer.jsonassert.JSONCompareMode;
import com.google.gson.JsonParser;
import org.skyscreamer.jsonassert.JSONCompareMode;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
Main cmp = new Main();
cmp.myTest();
}
public void myTest() throws FileNotFoundException {
JsonParser Parser = new JsonParser();
JsonObject obj1 = (JsonObject) Parser.parse(new
FileReader("/home/cloudera/Desktop/SampleJson/src/JSON1.json"));
JsonArray array1 = obj1.getAsJsonArray("array1");
JsonObject obj2 = (JsonObject)Parser.parse(new
FileReader("/home/cloudera/Desktop/SampleJson/src/JSON2.json"));
JsonArray array2 = obj1.getAsJsonArray("array2");
JSONAssert.assertEquals(array1, array2, JSONCompareMode.STRICT);
}
}
我期待的结果是那个键 Street
JSON1
中缺失下"id":"2"
或类似的东西可以提供正确的信息,帮助我们识别缺少的 key 来执行 Junit
测试。
我在IDE中遇到的错误是
"java: cannot access org.json.JSONArray
class file for org.json.JSONArray not found".
请帮我解决这个问题。
最佳答案
我认为您对 JSONArray
对象类的初始化在这些行中似乎不正确。
jsonArray array1 = obj1.getAsJsonArray("array1"); // it may pron to the exception.
jsonArray array1 = obj1.getAsJsonArray("array1");
您尚未在方法 getAsJsonArray()
中传递正确的参数。您传递了硬编码值 "array1"
和 "array2"
,这不是转换为 JSONArray
的正确值。
关于java - Json比较异常: Can't access getJSONArray in java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47091129/
我正在尝试解析以下结构中的 JSON 文件 { "category": { "subcat_1": [ { "item1": "xx"
您好,我在解析此代码的 onPostExecute 部分时遇到问题,我认为我做对了,但不知何故问题仍然存在。它说我在 postExecute() 上遇到了 nullPointerException方法
我有一个像这样的 JSON 对象: { "Successful": true, "Value": { "Materials":[{ "MaterialID": 37628,
我正在尝试从 Web 服务器上的 MySQL 数据库中获取数据。我的目标是检索已经在 MySQL 数据库中的位置数据数组。我正在从服务器获取此数据数组,但无法将其从 jsonResponse.getJ
为什么 JSONObject.getJSONArray() 不识别数组?空有影响吗? 这里是 Java 代码: String inputJSON = "{'links':'[]','format':'
我正在使用 org.json库作为我的 Java 应用程序的 JSON 客户端,我想知道这个库中一些方法的复杂性。 我正在通过它的 HTTP API 从数据库中检索另一个 JSON 对象(等等)内的
我想使用 Google 距离矩阵 API 来获取两个位置之间行驶所需的持续时间。但是当我尝试从返回的数据(JSON 编码)获取持续时间时,方法 getJSONArray 始终返回 null。 以下是
这个问题已经有答案了: Importing JSON into an Eclipse project (7 个回答) 已关闭 5 年前。 JSON1: { "array1": [ {
我的代码提取了 JSONObject 的结果,但是,有时,i 值不以 1 开头,并且我有这样的错误: org.json.JSONException: No value for 1 我的代码: JSON
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我从 URL 读取 XML,如下所示: import java.io.BufferedReader; import java.io.IOException; import java.io.InputS
我正在尝试从 PHP 获取包含纬度和经度的响应,因此在我的应用程序接收到这些坐标后,它应该根据 map 上的坐标添加标记。根据 JSONlint,JSON 响应是有效的,但该应用似乎不想添加标记。 .
我有一个如下所示的 JSON 响应: { "result": { "map": { "entry": [ { "key": { "@xsi.
嘿,我在调用 getJSONArray 时注意到这种非常奇怪的行为。这是我的代码: JSONObject jsonObject = new JSONObject(data); if (!jsonO
我的应用无法从服务器获取数据。 我在互联网上找到的每个解决方案都不起作用。 private static final String KEY_DATA = "data"; HashMap temp =
我想浏览下面的 json 文件并保存“坐标”后面的部分。 json 文件: {"type": "FeatureCollection","features": [{"type": "Feature","
使用应用程序搜索姓名时发生错误,因此在应用程序内搜索姓名时未显示任何结果。 尝试在 JSONArray 和 JSONObject 之间进行更改,但出现类似的错误。 URL 正确并且确实以 JSON 格
我是一名优秀的程序员,十分优秀!