如何在android中将表中JSON格式的数据行字符串转换为java数组

如何在android中将表中JSON格式的数据行字符串转换为java数组,java,android,json,arrays,Java,Android,Json,Arrays,我有一个JSON字符串,类似于android应用程序中表的数据。{}中的一个是表的一行数据。我想将这些{}分隔成一个数组,然后将数组中的每个元素分隔成其他子数组,将{}内的其他元素分隔开来。请建议使用JSON实现此标准的适当方法。多谢各位 [ { "nodeName":"prime_mtsc22@smpp3", "nodeId":"MTSC3", "tidPrefix":"4", "optStatus":"offline"

我有一个JSON字符串,类似于android应用程序中表的数据。{}中的一个是表的一行数据。我想将这些{}分隔成一个数组,然后将数组中的每个元素分隔成其他子数组,将{}内的其他元素分隔开来。请建议使用JSON实现此标准的适当方法。多谢各位

[
     {
        "nodeName":"prime_mtsc22@smpp3",
        "nodeId":"MTSC3",
        "tidPrefix":"4",
        "optStatus":"offline",
        "daStart":"1",
        "daEnd":"3",
        "description":"Description"
     },
     {
        "nodeName":"prime_mtsc22@smpp2",
        "nodeId":"MTSC58",
        "tidPrefix":"1",
        "optStatus":"blocked",
        "daStart":"5",
        "daEnd":"10",
        "description":"new description"
     },
     {
        "nodeName":"prime_mtsc22@smpp1",
        "nodeId":"MTSC1",
        "tidPrefix":"15",
        "optStatus":"online",
        "daStart":"12",
        "daEnd":"20",
        "description":"Description"
     },
     {
        "nodeName":"prime_mtsc22@smpp0",
        "nodeId":"MTSC15",
        "tidPrefix":"15",
        "optStatus":"offline",
        "daStart":"25",
        "daEnd":"30",
        "description":"Description"
     }
]
为此使用JSONObject

范例

    String jsonString = <your jsonString>;

    JSONObject json = new JSONObject(jsonString);
    JSONObject topArray = ; 
    try {
         // Getting your top array
         topArray = json.getJSONArray(TAG_ARRAY_TOP);

          // looping through All elements
          for(int i = 0; i < topArray.length(); i++){
          JSONObject c = topArray.getJSONObject(i);

          //list holding row data
          List<NodePOJO> nodeList = new ArrayList<NodePOJO>(); 

          // Storing each json item in variable
          String nodeName = c.getString("nodeName");
          String nodeID = c.getString("nodeID");

          NodePOJO pojo = new NodePOJO();
          pojo.setNodeName(nodeName);
          //add rest of the json data to NodePOJO class

          //the object to list
          nodeList.add(pojo);

        }
    } catch (JSONException e) {
            e.printStackTrace();
     }

在这种情况下,要使用的代码是

String jsonString = <your jsonString>;

// THIS IS NOT NEEDED ANYMORE 
//JSONObject json = new JSONObject(jsonString);

JSONArray topArray = null; 
try {
     // Getting your top array

     // THIS IS NOT NEEDED ANYMORE 
     //topArray = json.getJSONArray(jsonString);

     //use this instead
     topArray = new JSONArray(jsonString);

      // looping through All elements
      for(int i = 0; i < topArray.length(); i++){
      JSONObject c = topArray.getJSONObject(i);

      //list holding row data
      List<NodePOJO> nodeList = new ArrayList<NodePOJO>(); 

      // Storing each json item in variable
      String nodeName = c.getString("nodeName");
      String nodeID = c.getString("nodeID");

      NodePOJO pojo = new NodePOJO();
      pojo.setNodeName(nodeName);
      //add rest of the json data to NodePOJO class

      //the object to list
      nodeList.add(pojo);

    }
} catch (JSONException e) {
        e.printStackTrace();
 }
String jsonString=;
//这已经不需要了
//JSONObject json=新的JSONObject(jsonString);
JSONArray topArray=null;
试一试{
//获取顶级阵列
//这已经不需要了
//topArray=json.getJSONArray(jsonString);
//用这个代替
topArray=新的JSONArray(jsonString);
//循环通过所有元素
对于(int i=0;i

好吗?

请告诉我什么是TAG\u ARRAY\u TOP,我应该使用什么?您发布的JSON片段是数组的一部分([但是上面的字符串没有这样的标记,因为它被视为web服务器的响应!
String jsonString = <your jsonString>;

// THIS IS NOT NEEDED ANYMORE 
//JSONObject json = new JSONObject(jsonString);

JSONArray topArray = null; 
try {
     // Getting your top array

     // THIS IS NOT NEEDED ANYMORE 
     //topArray = json.getJSONArray(jsonString);

     //use this instead
     topArray = new JSONArray(jsonString);

      // looping through All elements
      for(int i = 0; i < topArray.length(); i++){
      JSONObject c = topArray.getJSONObject(i);

      //list holding row data
      List<NodePOJO> nodeList = new ArrayList<NodePOJO>(); 

      // Storing each json item in variable
      String nodeName = c.getString("nodeName");
      String nodeID = c.getString("nodeID");

      NodePOJO pojo = new NodePOJO();
      pojo.setNodeName(nodeName);
      //add rest of the json data to NodePOJO class

      //the object to list
      nodeList.add(pojo);

    }
} catch (JSONException e) {
        e.printStackTrace();
 }