我正在尝试解析一些 JSON,但遇到了一些麻烦。
这是我已经尝试过的:
ContentValues categories = new ContentValues();
JSONObject json = new JSONObject(improvedInputStreamAsString);
Iterator keys = json.keys();
while(keys.hasNext()) {
Object newObj = keys.next();
String jsonString = newObj.toString();
if(jsonString == "children") {
JSONObject newJsn = new JSONObject(jsonString);
if(newJsn.has("name")) {
String category = newJsn.getString("name");
categories.put("categories", category);
}
}
}
我只是想从 中获取类别,JSONObject
但由于某种原因jsonString
从未评估为children
.
这是结构,抱歉,我粘贴了这么多部分,我发现 JSON 真的很混乱,很难在保持其完整性的同时尝试将其削减,请记住我只是想获得该name
字段:
{
"position": "0",
"children": [
{
"position": "1",
"children": [
{
"position": "1",
"children": [
{
"position": "3",
"children": [
],
"category_id": "9",
"level": "3",
"is_active": "1",
"name": "Exfoliants",
"parent_id": "4"
},
{
"position": "4",
"children": [
],
"category_id": "10",
"level": "3",
"is_active": "1",
"name": "Moisturisers",
"parent_id": "4"
},
{
"position": "5",
"children": [
],
"category_id": "11",
"level": "3",
"is_active": "1",
"name": "Treatments",
"parent_id": "4"
},
{
"position": "6",
"children": [
],
"category_id": "12",
"level": "3",
"is_active": "1",
"name": "Cleansers",
"parent_id": "4"
},
{
"position": "7",
"children": [
],
"category_id": "13",
"level": "3",
"is_active": "1",
"name": "Skin Toners",
"parent_id": "4"
},
{
"position": "9",
"children": [
],
"category_id": "15",
"level": "3",
"is_active": "1",
"name": "Serums",
"parent_id": "4"
},
{
"position": "10",
"children": [
],
"category_id": "36",
"level": "3",
"is_active": "1",
"name": "Acne and Blemish Treatments",
"parent_id": "4"
},
{
"position": "11",
"children": [
],
"category_id": "40",
"level": "3",
"is_active": "1",
"name": "Oils",
"parent_id": "4"
}
],
"category_id": "4",
"level": "2",
"is_active": "1",
"name": "Skincare",
"parent_id": "2"
},
{
"position": "2",
"children": [
{
"position": "1",
"children": [
],
"category_id": "16",
"level": "3",
"is_active": "1",
"name": "Sunscreen",
"parent_id": "5"
},
{
"position": "2",
"children": [
],
"category_id": "31",
"level": "3",
"is_active": "1",
"name": "Insect Repellent & After Bite",
"parent_id": "5"
},
{
"position": "3",
"children": [
],
"category_id": "32",
"level": "3",
"is_active": "1",
"name": "After Sun Lotions",
"parent_id": "5"
},
{
"position": "4",
"children": [
],
"category_id": "33",
"level": "3",
"is_active": "1",
"name": "Self Tanning Lotions",
"parent_id": "5"
}
],
"category_id": "5",
"level": "2",
"is_active": "1",
"name": "Suncare",
"parent_id": "2"
},
{
"position": "3",
"children": [
{
"position": "1",
"children": [
],
"category_id": "17",
"level": "3",
"is_active": "1",
"name": "Shampoo",
"parent_id": "6"
},
{
"position": "2",
"children": [
],
"category_id": "18",
"level": "3",
"is_active": "1",
"name": "Conditioner",
"parent_id": "6"
},
{
"position": "3",
"children": [
],
"category_id": "19",
"level": "3",
"is_active": "1",
"name": "Treatments",
"parent_id": "6"
},
{
"position": "4",
"children": [
],
"category_id": "20",
"level": "3",
"is_active": "1",
"name": "Toner",
"parent_id": "6"
},
{
"position": "6",
"children": [
],
"category_id": "34",
"level": "3",
"is_active": "1",
"name": "Styling",
"parent_id": "6"
},
{
"position": "7",
"children": [
],
"category_id": "39",
"level": "3",
"is_active": "1",
"name": "Serum",
"parent_id": "6"
}
],
"category_id": "6",
"level": "2",
"is_active": "1",
"name": "Hair",
"parent_id": "2"
},
{
"position": "0",
"children": [
{
"position": "1",
"children": [
{
"position": "1",
"children": [
{
"position": "3",
"children": [
],
"category_id": "9",
"level": "3",
"is_active": "1",
"name": "Exfoliants",
"parent_id": "4"
},
{
"position": "6",
"children": [
],
"category_id": "12",
"level": "3",
"is_active": "1",
"name": "Cleansers",
"parent_id": "4"
},
],
"category_id": "4",
"level": "2",
"is_active": "1",
"name": "Skincare",
"parent_id": "2"
},
{
"position": "2",
"children": [
{
"position": "1",
"children": [
],
"category_id": "16",
"level": "3",
"is_active": "1",
"name": "Sunscreen",
"parent_id": "5"
},