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