1

我有这样的json数据:

{ 
    "err_code": "0", 
    "date":"20130121",
    "time_from":"1242", 
    "range":"5",
    "data":[['12313123','BOOK CODE CYFV3M
NUM CODE 3789850802600'],['089898989','BOOK CODE 1F45MN
NUM CODE 3787510241500']] 
}

我试过这个程序:

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

public class JsonKAI {

    public static void main(String[] args) {

        String jStr = "{\"err_code\":\"0\",\"date\":\"20130121\",\"time_from\":\"1242\",\"range\":\"5\",\"data\":[['12313123','BOOK CODE CYFV3M NUM CODE 3789850802600'],['089898989','BOOK CODE 1F45MN NUM CODE 3787510241500']] }";
// Replace this try catch block for all below subsequent examples
        try {
            JSONObject rootObject = new JSONObject(jStr);
            JSONArray rows = rootObject.getJSONArray("data"); // Get all JSONArray data
            int count = rows.length();
            for(int i=0 ; i< count; i++){
                JSONArray jsonArr = rows.getJSONArray(i);
                System.out.println("jsonObject " + i + ": " + jsonArr);
                //for(int j=0 ; j< count; j++){
                //JSONArray jArr = rows.getJSONArray(j);
                //String s = jArr.toString();
                //System.out.println("jsonObject " +s);
            }}
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

输出是:

jsonObject 0: ["12313123","BOOK CODE CYFV3M NUM CODE 3789850802600"]
jsonObject 1: ["089898989","BOOK CODE 1F45MN NUM CODE 3787510241500"]

我想问如何从 ["12313123","BOOK CODE CYFV3M NUM CODE 3789850802600"] 获​​取/解析

to 12313123and BOOK CODE CYFV3M NUM CODE 3789850802600(没有'['和'"')?请帮助我。谢谢。

4

2 回答 2

1

你可以试试这个:

        String jStr = "{\"err_code\":\"0\",\"date\":\"20130121\",\"time_from\":\"1242\",\"range\":\"5\",\"data\":[['12313123','BOOK CODE CYFV3M NUM CODE 3789850802600'],['089898989','BOOK CODE 1F45MN NUM CODE 3787510241500']] }";
        try {
          JSONObject rootObject = JSONObject.fromObject(jStr);
          JSONArray rows = rootObject.getJSONArray("data"); // Get all JSONArray data
          int count = rows.size();
          for (int i = 0; i < count; i++) {
            JSONArray jsonArr = rows.getJSONArray(i);
            System.out.println("jsonArray " + i + ": " + jsonArr);
            for (Object o : jsonArr) {          
              System.out.println(o);
            }
          }
        } catch (JSONException e) {
        }
于 2013-01-27T03:06:28.040 回答
0

我有以下示例:

String str = "{\"items\":[[1,2,3],[4,5,6],[7,8,9]],\"ans\":[[\"1\",\"2\"],[\"Glad\",\"Good\"]]}";
            try{
                JSONObject jsonObj = new JSONObject(str);
                JSONArray jsonArry1 = jsonObj.getJSONArray("items");

                int[][] ints1 = new int[jsonArry1.length()][3];

                for(int i = 0; i<jsonArry1.length(); i++){
                    JSONArray jsa1 = jsonArry1.getJSONArray(i);

                    for(int j = 0; j<jsa1.length();j++){
                        ints1[i][j] = jsa1.getInt(j);
                    }

                }

我测试过,它有效!

于 2019-11-06T11:53:51.227 回答