帮忙解析个简略的json数据
帮忙解析个简单的json数据
有下面 json数据:
{"array":[{"UID":"LACA6C0284SGCM8","IP":"192.168.1.112"},{"UID":"LACA6C0284UMFKY","IP":"192.168.1.127"},{"UID":"LACA6C0284KCXNU","IP":"192.168.1.106"}],"size":3}
求解析方法,谢谢!
------解决方案--------------------
用JSONObject和JSONArray
------解决方案--------------------
JSONObject obj = new JSONObject("");
String size = obj.optString("size");
JSONArray array = new JSONArray(obj.optString("array"));
for(int i = 0 ;i < array.length() ; i++){
JSONObject objs = new JSONObject(array.getJSONObject(i));
String uid = objs.optString("uid");
.....;
}
------解决方案--------------------
用Gson包 很简单的,不过要借助下javaBean对象。
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284SGCM8 192.168.1.112
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284UMFKY 192.168.1.127
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284KCXNU 192.168.1.106
------解决方案--------------------
public static List<Map<String, Object>> getListMaps(String key, String jsonString){
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
try {
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray(key);
for(int i = 0; i < jsonArray.length(); i++){
JSONObject jsonObject2 = jsonArray.getJSONObject(i);
Map<String, Object> map = new HashMap<String, Object>();
// 通过org.json中的迭代器来取Map中的值。
Iterator<String> iterator = jsonObject2.keys();
while(iterator.hasNext()) {
String jsonKey = iterator.next();
有下面 json数据:
{"array":[{"UID":"LACA6C0284SGCM8","IP":"192.168.1.112"},{"UID":"LACA6C0284UMFKY","IP":"192.168.1.127"},{"UID":"LACA6C0284KCXNU","IP":"192.168.1.106"}],"size":3}
求解析方法,谢谢!
------解决方案--------------------
用JSONObject和JSONArray
------解决方案--------------------
JSONObject obj = new JSONObject("");
String size = obj.optString("size");
JSONArray array = new JSONArray(obj.optString("array"));
for(int i = 0 ;i < array.length() ; i++){
JSONObject objs = new JSONObject(array.getJSONObject(i));
String uid = objs.optString("uid");
.....;
}
------解决方案--------------------
用Gson包 很简单的,不过要借助下javaBean对象。
package com.devil.pojo;
import java.util.List;
public class A {
private List<B> array;
private int size;
public List<B> getArray() {
return array;
}
public void setArray(List<B> array) {
this.array = array;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
}
package com.devil.pojo;
public class B {
private String UID;
private String IP;
public String getUID() {
return UID;
}
public void setUID(String uID) {
UID = uID;
}
public String getIP() {
return IP;
}
public void setIP(String iP) {
IP = iP;
}
}
private void T() {
String json = "{'array':[{'UID':'LACA6C0284SGCM8','IP':'192.168.1.112'},{'UID':'LACA6C0284UMFKY','IP':'192.168.1.127'},{'UID':'LACA6C0284KCXNU','IP':'192.168.1.106'}],'size':3}";
A a = JsonUtil.parse(json, A.class);
for (B b : a.getArray()) {
Log.e("DEVIL", b.getUID() + " " + b.getIP());
}
}
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284SGCM8 192.168.1.112
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284UMFKY 192.168.1.127
03-20 14:00:53.869: E/DEVIL(12003): LACA6C0284KCXNU 192.168.1.106
/**
* 将json字符串转换成对象
*
* @param json
* @param type
* @return
*/
public static <T> T parse(String json, Class<T> type) {
Gson gson = new Gson();
T t = null;
try {
t = gson.fromJson(json, type);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return t;
}
------解决方案--------------------
public static List<Map<String, Object>> getListMaps(String key, String jsonString){
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
try {
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray(key);
for(int i = 0; i < jsonArray.length(); i++){
JSONObject jsonObject2 = jsonArray.getJSONObject(i);
Map<String, Object> map = new HashMap<String, Object>();
// 通过org.json中的迭代器来取Map中的值。
Iterator<String> iterator = jsonObject2.keys();
while(iterator.hasNext()) {
String jsonKey = iterator.next();