Java 读取 json : 从存在于 json 对象中的 json 数组读取数据
Java reading json :reading data from json array which present inside json object
我想使用 java 读取 json 文件。
我的 json 个文件的内容如下
{
"ServiceData": {
"ServiceInfo": [
{
"trav": "20200131T173017Z",
"real": "MyService",
"lintruntime": "7",
"upload": "184",
"build": "1717",
"buildproductruntime": "1709",
"EXITCODE": "0",
"totaltime": "3610"
},
{
"trav": "20200131T173024Z",
"real": "ERSampleService1",
"lintruntime": "38",
"upload": "381",
"build": "1765",
"buildproductruntime": "1767",
"EXITCODE": "0",
"totaltime": "3913"
}
]
}
}
如何使用简单的方式做到这一点 json 我在下面尝试过,但它不起作用
public static void main(String args[])
{
try {
Object obj = new JSONParser().parse(new FileReader("metricDataFinal.json"));
JSONObject jo = (JSONObject) obj;
Map ServiceData = ((Map)jo.get("ServiceData"));
Iterator<Map.Entry> itr1 = ServiceData.entrySet().iterator();
while (itr1.hasNext()) {
JSONArray ja = (JSONArray) jo.get("ServiceInfo");
Iterator itr2 = ja.iterator();
while (itr2.hasNext())
{
itr1 = ((Map) itr2.next()).entrySet().iterator();
while (itr1.hasNext()) {
Map.Entry pair = itr1.next();
System.out.println(pair.getKey() + " : " + pair.getValue());
}
}
Map.Entry pair = itr1.next();
// System.out.println(pair.getKey() + " : " + pair.getValue());
}
}catch(Exception e)
{
}
}
如何从中读取数据 json 我想对这些数据进行处理
如果有人知道怎么做,请告诉我
试试下面的代码:
Object obj = new JSONParser().parse(new FileReader("metricDataFinal.json"));
JSONObject jo = (JSONObject) obj;
Map ServiceData = ((Map) jo.get("ServiceData"));
Iterator<Map.Entry> itr1 = ServiceData.entrySet().iterator();
while (itr1.hasNext()) {
JSONArray ja = (JSONArray) ServiceData.get("ServiceInfo");
Iterator itr2 = ja.iterator();
while (itr2.hasNext()) {
itr1 = ((Map) itr2.next()).entrySet().iterator();
while (itr1.hasNext()) {
Map.Entry pair = itr1.next();
System.out.println(pair.getKey() + " : " + pair.getValue());
}
}
Map.Entry pair = itr1.next();
// System.out.println(pair.getKey() + " : " + pair.getValue());
}
} catch (Exception e) {
e.printStackTrace();
}
您在尝试获取 ServiceInfo
对象的迭代器中犯了一个错误。您错误地试图从 jo
对象中获取该对象,但该对象在 ServiceData
对象中。
我想使用 java 读取 json 文件。 我的 json 个文件的内容如下
{
"ServiceData": {
"ServiceInfo": [
{
"trav": "20200131T173017Z",
"real": "MyService",
"lintruntime": "7",
"upload": "184",
"build": "1717",
"buildproductruntime": "1709",
"EXITCODE": "0",
"totaltime": "3610"
},
{
"trav": "20200131T173024Z",
"real": "ERSampleService1",
"lintruntime": "38",
"upload": "381",
"build": "1765",
"buildproductruntime": "1767",
"EXITCODE": "0",
"totaltime": "3913"
}
]
}
}
如何使用简单的方式做到这一点 json 我在下面尝试过,但它不起作用
public static void main(String args[])
{
try {
Object obj = new JSONParser().parse(new FileReader("metricDataFinal.json"));
JSONObject jo = (JSONObject) obj;
Map ServiceData = ((Map)jo.get("ServiceData"));
Iterator<Map.Entry> itr1 = ServiceData.entrySet().iterator();
while (itr1.hasNext()) {
JSONArray ja = (JSONArray) jo.get("ServiceInfo");
Iterator itr2 = ja.iterator();
while (itr2.hasNext())
{
itr1 = ((Map) itr2.next()).entrySet().iterator();
while (itr1.hasNext()) {
Map.Entry pair = itr1.next();
System.out.println(pair.getKey() + " : " + pair.getValue());
}
}
Map.Entry pair = itr1.next();
// System.out.println(pair.getKey() + " : " + pair.getValue());
}
}catch(Exception e)
{
}
}
如何从中读取数据 json 我想对这些数据进行处理 如果有人知道怎么做,请告诉我
试试下面的代码:
Object obj = new JSONParser().parse(new FileReader("metricDataFinal.json"));
JSONObject jo = (JSONObject) obj;
Map ServiceData = ((Map) jo.get("ServiceData"));
Iterator<Map.Entry> itr1 = ServiceData.entrySet().iterator();
while (itr1.hasNext()) {
JSONArray ja = (JSONArray) ServiceData.get("ServiceInfo");
Iterator itr2 = ja.iterator();
while (itr2.hasNext()) {
itr1 = ((Map) itr2.next()).entrySet().iterator();
while (itr1.hasNext()) {
Map.Entry pair = itr1.next();
System.out.println(pair.getKey() + " : " + pair.getValue());
}
}
Map.Entry pair = itr1.next();
// System.out.println(pair.getKey() + " : " + pair.getValue());
}
} catch (Exception e) {
e.printStackTrace();
}
您在尝试获取 ServiceInfo
对象的迭代器中犯了一个错误。您错误地试图从 jo
对象中获取该对象,但该对象在 ServiceData
对象中。