首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用org.json解析JSON

用org.json解析JSON
EN

Stack Overflow用户
提问于 2011-06-22 23:22:47
回答 3查看 64.3K关注 0票数 19

我正在尝试解析来自服务器的输出,如下所示:

代码语言:javascript
复制
{
  "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的经验,所以我遇到了一些麻烦。我该如何解析它呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-22 23:34:05

1)假设您的路径中有JSON库(来自www.json.org),这非常简单。

代码语言:javascript
复制
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

票数 38
EN

Stack Overflow用户

发布于 2011-07-13 15:45:47

下面是最通用的解决方案,它允许将任何JSON类型解析为适当的Java类型:

代码语言:javascript
复制
Object json = new JSONTokener(response).nextValue();

然后,您可以确定结果类型并对其进行适当的处理。

票数 9
EN

Stack Overflow用户

发布于 2011-06-22 23:32:02

我会通过它的

代码语言:javascript
复制
map<String, Object> 

加载了

代码语言:javascript
复制
map<String, Object> 

在对象字段中。

基本上是在一个大的map中重新创建java类的层次结构。

示例:

代码语言:javascript
复制
return ( Map<"GetFolderFilesByZoneResult", Map<"Result1", (object by id 98748) | "Result2", (object by id 99107) | "Result3", etc.

JSON将返回非常类似的大映射,并且在编程上它比列表更容易执行。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6442347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档