Pau*_*ich 18 java json org.json
我正在尝试解析服务器的输出,如下所示:
{
"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
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Java org.json来解析它,但我对JSON/org.json没有任何经验,所以我遇到了一些麻烦.我怎么解析这个?
Joh*_*nyO 36
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);
Run Code Online (Sandbox Code Playgroud)
从那里,您可以处理JSON对象的各个部分.看看Javadocs的具体细节. https://developer.android.com/reference/org/json/package-summary.html
小智 7
这是最通用的解决方案,它允许将任何JSON类型解析为适当的Java类型:
Object json = new JSONTokener(response).nextValue();
Run Code Online (Sandbox Code Playgroud)
然后,您可以确定结果类型并适当地处理它.