如何从 Android 中的 JsonObject 中过滤值?
How to filter the values from the JsonObject in Android?
> {"-Kopv2EYUt7EeisRiiCz":{"deviceName":"LYF","fileUploadDate":"07\/12\/2017 2:00:57 PM"},
"-KopvA-cTtzgzSbsKTrw":{"deviceName":"LYF","fileUploadDate":"07\/12\/2017 2:01:29 PM",}}
如何从 JsonObject 解析所有 "fileUploadDates"?
fileUploadDate = 07\/12\/2017 2:00:57 PM
fileUploadDate = "07\/12\/2017 2:01:29 PM
使用 GSON 库
public void parseJson(String json){
Gson gson = new Gson();
Type stringStringMap = new TypeToken<Map<String, Map<String,String>>>(){}.getType();
Map<String,Map<String,String>> map = gson.fromJson(json, stringStringMap);
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry)it.next();
Map<String,String> innerMap = (Map<String,String>)pair.getValue();
getInnerMapDetail(innerMap);
it.remove(); // avoids a ConcurrentModificationException
}
}
public void getInnerMapDetail(Map<String,String> innerMap)
{
String fileUploadDate = innerMap.get("fileUploadDate"); // you will get here
}
}
试试这个来响应 Parse
可能对你有帮助
try{
JSONObject jsonObject = new JSONObject(response);
List<String> keyList = getAllKeys(jsonObject);
for(String key : keyList){
JSONObject innerObject = jsonObject.getJSONObject(key);
String deviceName = innerObject.getString("deviceName");
String fileUploadDate = innerObject.getString("fileUploadDate");
System.out.println(deviceName +"--"+ fileUploadDate);
}
}catch(Exception e){
e.printStackTrace();
}
此方法将return键
private List<String> getAllKeys(JSONObject jsonObject) throws JSONException{
List<String> keys = new ArrayList<String>();
Iterator<?> iterator = jsonObject.keys();
while( iterator.hasNext() ) {
String key = (String)iterator.next();
keys.add(key);
}
return keys;
}
首先你需要解析 json 个对象并存储到字符串中,这样
String fileUploadDate;
JSONObject -Kopv2EYUt7EeisRiiCz = new JSONObject;
fileUploadDate= sys.getString("fileUploadDate");
像那样更改字符串后
String newfileUploadDate = string.replace("\", "");
你硬着头皮来输出
> {"-Kopv2EYUt7EeisRiiCz":{"deviceName":"LYF","fileUploadDate":"07\/12\/2017 2:00:57 PM"},
"-KopvA-cTtzgzSbsKTrw":{"deviceName":"LYF","fileUploadDate":"07\/12\/2017 2:01:29 PM",}}
如何从 JsonObject 解析所有 "fileUploadDates"?
fileUploadDate = 07\/12\/2017 2:00:57 PM
fileUploadDate = "07\/12\/2017 2:01:29 PM
使用 GSON 库
public void parseJson(String json){
Gson gson = new Gson();
Type stringStringMap = new TypeToken<Map<String, Map<String,String>>>(){}.getType();
Map<String,Map<String,String>> map = gson.fromJson(json, stringStringMap);
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry)it.next();
Map<String,String> innerMap = (Map<String,String>)pair.getValue();
getInnerMapDetail(innerMap);
it.remove(); // avoids a ConcurrentModificationException
}
}
public void getInnerMapDetail(Map<String,String> innerMap)
{
String fileUploadDate = innerMap.get("fileUploadDate"); // you will get here
}
}
试试这个来响应 Parse
可能对你有帮助
try{
JSONObject jsonObject = new JSONObject(response);
List<String> keyList = getAllKeys(jsonObject);
for(String key : keyList){
JSONObject innerObject = jsonObject.getJSONObject(key);
String deviceName = innerObject.getString("deviceName");
String fileUploadDate = innerObject.getString("fileUploadDate");
System.out.println(deviceName +"--"+ fileUploadDate);
}
}catch(Exception e){
e.printStackTrace();
}
此方法将return键
private List<String> getAllKeys(JSONObject jsonObject) throws JSONException{
List<String> keys = new ArrayList<String>();
Iterator<?> iterator = jsonObject.keys();
while( iterator.hasNext() ) {
String key = (String)iterator.next();
keys.add(key);
}
return keys;
}
首先你需要解析 json 个对象并存储到字符串中,这样
String fileUploadDate;
JSONObject -Kopv2EYUt7EeisRiiCz = new JSONObject;
fileUploadDate= sys.getString("fileUploadDate");
像那样更改字符串后
String newfileUploadDate = string.replace("\", "");
你硬着头皮来输出