2013-03-14 5 views
-1

Как получить доступ к холодатам из заданного массива json? также FromDate и ФОРУМ и имяМассивразбор нескольких массивов json с использованием java

{ 

"FromDate": 1361912208000, "ФОРУМ": 1361998608000, "datavalues": [ { "имяМассив": "первый массив", "DataValue" : { "rowvalues": [ { "coldata": [ "1", "5342", "75" ] }, { "Coldata": [ "23", "4465", "75" ] } ], "COLNAMES": [ { "ID": "ID1", "тип" : "Строка », "метка": "идентификатор" }, { "идентификатор": "ID2", "Тип": "номер", "метка": "номер" }, { "идентификатор" : «id3», «type»: «Number», «label»: «number» } ] } }, { "имяМассив": "второй массив", "DataTable": { "rowvalues": [ { "coldata": [ "1", "5342", "75" ] }, { "coldata": [ "23", "4465", "75" ] } ], "COLNAMES": [ { "идентификатор": "id1", "Тип": "Строка", "метка": "идентификатор" }, { "идентификатор": "id2", "Тип": "Номер" , "метка": "номер" }, { "идентификатор": "id3", "Тип": "номер", "метка": "номер" } ] } } ] }

+0

Пытались Переберите массива с помощью JSONArray! JSONArray obj1 = JSONUtil.getJSONArray (obj, "datavalues"); for (int i = 0; i <= jObj1.size(); i ++) { JSONArray obj2 = JSONUtil.getJSONArray (obj, "datavalue"); for (int j = 0; j <= jObj2.size(); j ++) { } } –

+0

Поместите это в свой вопрос, что не работает? –

+0

:-) не был уверен, сколько циклов мне нужно добавить для доступа к холодатам? Итак, разместил вышеперечисленный вопрос! –

ответ

1

При разборе JSON необходимо иметь хорошие JSON Viewer и JSON Library. Это поможет вам увидеть древовидную структуру вашего массива.

Вот что я вижу, enter image description here

Так что я написал код для разбора первого объекта в массиве datavalues.

package com.stackoverflow.answers; 

import org.json.JSONArray; 
import org.json.JSONObject; 

public class JSONReader { 

static String JSON_STRING = "{\"fromdate\":1361912208000, \"todate\":1361998608000, \"datavalues\":[ { \"arrayName\":\"1st Array\", \"datavalue\":{ \"rowvalues\":[ { \"coldata\":[ \"1\", \"5342\", \"75\" ] }, { \"coldata\":[ \"23\", \"4465\", \"75\" ] } ], \"colnames\":[ { \"id\":\"id1\", \"type\":\"String\", \"label\":\"id\" }, { \"id\":\"id2\", \"type\":\"Number\", \"label\":\"number\" }, { \"id\":\"id3\", \"type\":\"Number\", \"label\":\"number\" } ] } }, { \"arrayName\":\"2nd Array\", \"dataTable\":{ \"rowvalues\":[ { \"coldata\":[ \"1\", \"5342\", \"75\" ] }, { \"coldata\":[ \"23\", \"4465\", \"75\" ] } ], \"colnames\":[ { \"id\":\"id1\", \"type\":\"String\", \"label\":\"id\" }, { \"id\":\"id2\", \"type\":\"Number\", \"label\":\"number\" }, { \"id\":\"id3\", \"type\":\"Number\", \"label\":\"number\" } ] } } ] }"; 

public static void main(String[] args) { 

    // Create root JSON Object 
    JSONObject object = new JSONObject(JSON_STRING); 
    System.out.println(object.get("fromdate")); 
    System.out.println(object.get("todate")); 
    System.out.println("--------------------------------"); 

    // Get Data Values 
    JSONArray dataValues = object.getJSONArray("datavalues"); 

    System.out.println("------------- Data Values ---------------"); 

    JSONObject datavalue = dataValues.getJSONObject(0); 
    System.out.println("Arrray Name : " + datavalue.getString("arrayName")); 

    JSONObject dval = datavalue.getJSONObject("datavalue"); 

    System.out.println("------------- Row Values ---------------"); 
    JSONArray rowvalues = dval.getJSONArray("rowvalues"); 

    for (int y = 0; y < rowvalues.length(); y++) { 
     JSONObject columns = rowvalues.getJSONObject(y); 

     System.out.println("------------- Col data --------------"); 
     JSONArray coldata = columns.getJSONArray("coldata"); 

     for (int z = 0; z < coldata.length(); z++) { 
      System.out.println(coldata.get(z)); 
     } 
    } 

    JSONArray colnames = dval.getJSONArray("colnames"); 

    for (int y = 0; y < colnames.length(); y++) { 
     JSONObject columns = colnames.getJSONObject(y); 

     System.out.println("------------- Col Names --------------"); 

     System.out.println(columns.get("id")); 
     System.out.println(columns.get("type")); 
     System.out.println(columns.get("label")); 
    } 

} 

}

и выход

1361912208000 
1361998608000 
------------- Data Values --------------- 
Arrray Name : 1st Array 
------------- Row Values --------------- 
------------- Col data -------------- 
1 
5342 
75 
------------- Col data -------------- 
23 
4465 
75 
------------- Col Names -------------- 
id1 
String 
id 
------------- Col Names -------------- 
id2 
Number 
number 
------------- Col Names -------------- 
id3 
Number 
number 

Я уверен, что вы можете выяснить, остальное оттуда

+0

Спасибо @greenKode –

Смежные вопросы