我有一些 JSON(如下所示),我试图解析整个 JSON,每个对象都是一个类的新实例,该类声明了下面的变量。做这个的最好方式是什么?我应该使用 JSONReader 还是使用 JSONObject 和 JSONArray。我一直在阅读一些教程并提出一些一般性问题,但我还没有看到任何有关如何像这样解析数据的示例。
{
"id": 356,
"hassubcategories": true,
"subcategories": [
{
"id": 3808,
"CategoryName": "Current Products",
"CategoryImage": null,
"hassubcategories": true,
"subcategories": [
{
"id": 4106,
"CategoryName": "Architectural",
"CategoryImage": "2637",
"hassubcategories": true,
"subcategories": [
{
"id": 391,
"CategoryName": "Flooring",
"CategoryImage": "2745",
"hassubcategories": false
}
]
}
]
},
{
"id": 3809,
"CategoryName": "Non-Current Products",
"CategoryImage": null,
"hassubcategories": true,
"subcategories": [
{
"id": 4107,
"CategoryName": "Desk",
"CategoryImage": "2638",
"hassubcategories": true,
"subcategories": [
{
"id": 392,
"CategoryName": "Wood",
"CategoryImage": "2746",
"hassubcategories": false
}
]
}
]
}
]
}
最佳答案
仅当您的 json 数据大小小于 1MB 时,您才可以使用 JSON 对象/JSON 数组。否则你应该使用 JSONReader。 JSONReader 实际上使用流式处理方法,而 JSONObject 和 JSONArray 最终一次将所有数据加载到 RAM 上,这会在 json 较大的情况下导致 OutOfMemoryException。
关于java - 使用 JSONReader 或 JSONObject/JSONArray 解析 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742902/