我正在尝试解析来自服务器的输出,如下所示:
{
"GetFolderFilesByZoneResult": [
{
"ID": 98748,
"CreatedBy": "",
"UpdatedBy": "none",
"CreatedDate": "\/Date(1308273033620+0100)\/",
"UpdatedDate": "\/Date(1308303003770+0100)\/",
"CommentCount": 0,
"Key": "",
"Enabled": true,
"MimeType": "video",
"Votes": 2,
"TotalRating": 0,
"AllowComments": true,
"ViewCount": 323,
"ReleaseDate": "\/Date(1308273000000+0100)\/",
"ExpireDate": "\/Date(4102444800000+0000)\/",
"Author": "",
"Size": 133799936,
"Tag1": "",
"Tag2": "",
"Tag3": "",
"RecycleBin": false
},
{
"ID": 99107,
"CreatedBy": "",
"UpdatedBy": "none",
"CreatedDate": "\/Date(1308583412520+0100)\/",
"UpdatedDate": "\/Date(1308583564007+0100)\/",
"CommentCount": 0,
"Key": "",
"Enabled": true,
"MimeType": "video",
"Votes": 0,
"TotalRating": 0,
"AllowComments": true,
"ViewCount": 33,
"ReleaseDate": "\/Date(1308583380000+0100)\/",
"ExpireDate": "\/Date(4102444800000+0000)\/",
"Author": "",
"Size": 47955968,
"Tag1": "",
"Tag2": "",
"Tag3": "",
"RecycleBin": false
}
]
}我正在尝试使用Javaorg.json来解析它,但是我没有任何使用JSON/org.json / org.json的经验,所以我遇到了一些麻烦。我该如何解析它呢?
发布于 2011-06-22 23:34:05
1)假设您的路径中有JSON库(来自www.json.org),这非常简单。
import org.json.JSONTokener;
...
URI uri = new URI("http://someserver/data.json");
JSONTokener tokener = new JSONTokener(uri.toURL().openStream());
JSONObject root = new JSONObject(tokener);在那里,您可以处理JSON对象的各个部分。请看Javadoc中的细节。https://developer.android.com/reference/org/json/package-summary.html
发布于 2011-07-13 15:45:47
下面是最通用的解决方案,它允许将任何JSON类型解析为适当的Java类型:
Object json = new JSONTokener(response).nextValue();然后,您可以确定结果类型并对其进行适当的处理。
发布于 2011-06-22 23:32:02
我会通过它的
map<String, Object> 加载了
map<String, Object> 在对象字段中。
基本上是在一个大的map中重新创建java类的层次结构。
示例:
return ( Map<"GetFolderFilesByZoneResult", Map<"Result1", (object by id 98748) | "Result2", (object by id 99107) | "Result3", etc.JSON将返回非常类似的大映射,并且在编程上它比列表更容易执行。
https://stackoverflow.com/questions/6442347
复制相似问题