这是提取 JSON 数组的 ASP .net 代码:
{
"Attendance": {
"FirstName": "Test1"
"InTime": "12:32:00"
"LastName": "User"
"OutTime": "12:38:11"
}
{
"FirstName": "Test2"
"InTime": "12:26:59"
"LastName": "User"
"OutTime": "12:38:19"
}
}
JObject o = JObject.Parse(jsonString);
JArray arr = (JArray)o.SelectToken("Attendance");
foreach (JObject b in arr.Children<JObject>())
{
foreach (JProperty p in b.Properties())
{
string name = p.Name;
string value = p.Value.ToString();
// Console.WriteLine(name + ": " + value);
System.Diagnostics.Debug.WriteLine("" + name + ": " + value);
}
}
上面的代码将提取它的名称和值,而不是我们使用 JSONOBJECT 传递名称和返回值。
// System.Diagnostics.Debug.WriteLine("" + name + ": " + value);
FirstName: Test1
InTime: 12:32:00
LastName: User
OutTime: 12:38:11
FirstName: Test2
InTime: 12:26:59
LastName: User
OutTime: 12:38:19
如何在 Android 中实现相同的功能?
最佳答案
使用这个 json.org Java 的图书馆,您可以使用下面翻译成 Java 的代码并准备在 Android 中使用。出于日志目的,您应该将 System.out 替换为 Log.d
import org.json.*;
JSONObject o = new JSONObject(jsonString);
JSONArray arr = obj.getJSONArray("Attendance");
for (int i = 0; i < arr.length(); i++)
{
JSONObject b = arr.getJSONObject(i);
Iterator<?> keys = b.keys();
while( keys.hasNext() ) {
String key = (String)keys.next();
System.out.println(key+": "+b.get(key).toString());
}
}
关于java - 在android中解析JSON数组子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36021423/