我是JavaScript的新手,我想解析Web Service返回的JSON。我搜索了很多链接,但没有在JavaScript中找到这种类型的JSON解析,所以任何人都可以帮我解析这种类型JSON?
这是我的代码和JSON 的 JS
$http({
method: 'POST',
url: API_HOST + '/webservice/Get_FilterDetails',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'caymanauth': caymanauth
},
data: '&Catid=' + Catid
}).success(function(data) {
}).error(function() {
alert("error");
});
来自网络服务的JSON
{
"Status": "1",
"Details": [
"Rate Type", [{
"intGlCode": "6",
"fk_CatList": "1",
"varName": "$",
"intDisplayOrder": "1"
}, {
"intGlCode": "7",
"fk_CatList": "1",
"varName": "$$",
"intDisplayOrder": "2"
}, {
"intGlCode": "8",
"fk_CatList": "1",
"varName": "$$$",
"intDisplayOrder": "3"
}, {
"intGlCode": "9",
"fk_CatList": "1",
"varName": "$$$$",
"intDisplayOrder": "4"
}, {
"intGlCode": "10",
"fk_CatList": "1",
"varName": "$$$$$",
"intDisplayOrder": "5"
}],
"Listing Type", [{
"intGlCode": "1",
"fk_CatList": "2",
"varName": "*",
"intDisplayOrder": "1"
}, {
"intGlCode": "2",
"fk_CatList": "2",
"varName": "**",
"intDisplayOrder": "2"
}, {
"intGlCode": "3",
"fk_CatList": "2",
"varName": "***",
"intDisplayOrder": "3"
}, {
"intGlCode": "4",
"fk_CatList": "2",
"varName": "****",
"intDisplayOrder": "4"
}, {
"intGlCode": "5",
"fk_CatList": "2",
"varName": "*****",
"intDisplayOrder": "5"
}],
"Area", [{
"intGlCode": "32",
"varCityName": "Camana Bay",
"intDisplayOrder": "1",
"dtCreatedDate": "2014-10-21 02:44:57",
"dtModifyDate": "2015-07-07 02:50:13",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "208.168.244.109",
"varAdminUser": "Cayman After Work"
}, {
"intGlCode": "1",
"varCityName": "Breakers",
"intDisplayOrder": "2",
"dtCreatedDate": "2014-09-06 10:20:57",
"dtModifyDate": "2014-10-10 01:56:48",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "192.168.1.134",
"varAdminUser": "Netclues"
}, {
"intGlCode": "2",
"varCityName": "Grand Cayman",
"intDisplayOrder": "3",
"dtCreatedDate": "2014-09-06 10:21:04",
"dtModifyDate": "2014-10-10 01:59:24",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "192.168.1.134",
"varAdminUser": "Netclues"
}, {
"intGlCode": "16",
"varCityName": "Bodden Town",
"intDisplayOrder": "4",
"dtCreatedDate": "2014-09-06 10:21:19",
"dtModifyDate": "2014-10-17 12:27:33",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "192.168.1.134",
"varAdminUser": "Netclues"
}, {
"intGlCode": "15",
"varCityName": "Cayman Brac",
"intDisplayOrder": "5",
"dtCreatedDate": "2014-09-06 10:21:12",
"dtModifyDate": "2014-10-10 01:56:21",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "192.168.1.134",
"varAdminUser": "Netclues"
}, {
"intGlCode": "20",
"varCityName": "East End",
"intDisplayOrder": "6",
"dtCreatedDate": "2014-10-10 01:57:06",
"dtModifyDate": "2014-10-10 01:57:06",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "21",
"varCityName": "George Town",
"intDisplayOrder": "7",
"dtCreatedDate": "2014-10-10 01:57:19",
"dtModifyDate": "2014-10-10 01:57:19",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "22",
"varCityName": "George Town West",
"intDisplayOrder": "8",
"dtCreatedDate": "2014-10-10 01:57:29",
"dtModifyDate": "2014-10-10 01:57:29",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "23",
"varCityName": "Little Cayman",
"intDisplayOrder": "9",
"dtCreatedDate": "2014-10-10 01:57:45",
"dtModifyDate": "2014-10-10 01:57:45",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "24",
"varCityName": "North Side",
"intDisplayOrder": "10",
"dtCreatedDate": "2014-10-10 01:57:55",
"dtModifyDate": "2014-10-10 01:57:55",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "25",
"varCityName": "Red Bay",
"intDisplayOrder": "11",
"dtCreatedDate": "2014-10-10 01:58:06",
"dtModifyDate": "2014-10-10 01:58:06",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "26",
"varCityName": "Rum Point/Cayman Kai",
"intDisplayOrder": "12",
"dtCreatedDate": "2014-10-10 01:58:16",
"dtModifyDate": "2014-10-10 01:58:16",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "27",
"varCityName": "Savannah",
"intDisplayOrder": "13",
"dtCreatedDate": "2014-10-10 01:58:25",
"dtModifyDate": "2014-10-10 01:58:25",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "28",
"varCityName": "Seven Mile Beach",
"intDisplayOrder": "14",
"dtCreatedDate": "2014-10-10 01:58:36",
"dtModifyDate": "2014-10-10 01:58:42",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "29",
"varCityName": "Sister Islands",
"intDisplayOrder": "15",
"dtCreatedDate": "2014-10-10 01:58:51",
"dtModifyDate": "2014-10-10 01:58:51",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "30",
"varCityName": "West Bay",
"intDisplayOrder": "16",
"dtCreatedDate": "2014-10-10 01:59:00",
"dtModifyDate": "2014-10-10 01:59:00",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}, {
"intGlCode": "31",
"varCityName": "West Bay Road",
"intDisplayOrder": "17",
"dtCreatedDate": "2014-10-10 01:59:12",
"dtModifyDate": "2014-10-10 01:59:12",
"chrDelete": "N",
"chrPublish": "Y",
"varIPAddress": "27.54.170.98",
"varAdminUser": "Netclues"
}],
"Cuisine", [{
"intGlCode": "11",
"fk_CatList": "4",
"varName": "Pizza",
"intDisplayOrder": "1"
}, {
"intGlCode": "12",
"fk_CatList": "4",
"varName": "Hot Dog",
"intDisplayOrder": "2"
}, {
"intGlCode": "13",
"fk_CatList": "4",
"varName": "Take Out",
"intDisplayOrder": "3"
}, {
"intGlCode": "14",
"fk_CatList": "4",
"varName": "Caterers",
"intDisplayOrder": "4"
}, {
"intGlCode": "15",
"fk_CatList": "4",
"varName": "Asian",
"intDisplayOrder": "5"
}, {
"intGlCode": "16",
"fk_CatList": "4",
"varName": "American",
"intDisplayOrder": "6"
}, {
"intGlCode": "17",
"fk_CatList": "4",
"varName": "Seafood",
"intDisplayOrder": "7"
}],
"Categories", [{
"intGlCode": "1",
"fk_Category": "0",
"fk_CatList": "1,2,3,4,5",
"varName": "Restaurant",
"varAlias": "restaurant",
"chrImageFlag": "U",
"varImage": "restorants1437580660.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "190",
"intMobHits": "4",
"varMetaTitle": "Restaurant Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Restaurant Listing, Cayman Islands Business Portal, Restaurant Business, Online Business",
"varMetaDescription": "Browse here Restaurant Listing and get right information about related business.",
"intDisplayOrder": "1",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-22 10:57:40",
"dtModifyDate": "2015-08-20 10:23:09",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "2",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Lounge",
"varAlias": "lounge",
"chrImageFlag": "U",
"varImage": "",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "62",
"intMobHits": "4",
"varMetaTitle": "Lounge Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Lounge Listing, Cayman Islands Business Portal, Lounge Business, Online Business",
"varMetaDescription": "Browse here Lounge Listing and get right information about related business.",
"intDisplayOrder": "2",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-22 10:59:34",
"dtModifyDate": "2015-08-20 10:23:35",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "3",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Happy Hours",
"varAlias": "happy-hours",
"chrImageFlag": "U",
"varImage": "movie-club1439218208.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "31",
"intMobHits": "4",
"varMetaTitle": "Happy Hours Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Happy Hours Listing, Cayman Islands Business Portal, Happy Hours Business, Online Business",
"varMetaDescription": "Browse here Happy Hours Listing and get right information about related business.",
"intDisplayOrder": "3",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-22 11:00:17",
"dtModifyDate": "2015-08-20 10:23:47",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "4",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Activities",
"varAlias": "activities",
"chrImageFlag": "U",
"varImage": "outdoor-sports1439218224.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "33",
"intMobHits": "4",
"varMetaTitle": "Activities Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Activities Listing, Cayman Islands Business Portal, Activities Business, Online Business",
"varMetaDescription": "Browse here Activities Listing and get right information about related business.",
"intDisplayOrder": "4",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-22 11:01:11",
"dtModifyDate": "2015-08-20 10:23:58",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "11",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Movie Clubs",
"varAlias": "movie-clubs",
"chrImageFlag": "U",
"varImage": "movie-club1437736241.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "8",
"intMobHits": "4",
"varMetaTitle": "Movie Clubs Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Movie Clubs Listing, Cayman Islands Business Portal, Movie Clubs Business, Online Business",
"varMetaDescription": "Browse here Movie Clubs Listing and get right information about related business.",
"intDisplayOrder": "5",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:10:41",
"dtModifyDate": "2015-08-20 10:24:14",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "10",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Motel",
"varAlias": "motel",
"chrImageFlag": "U",
"varImage": "motel1437736219.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "7",
"intMobHits": "4",
"varMetaTitle": "Motel Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Motel Listing, Cayman Islands Business Portal, Motel Business, Online Business",
"varMetaDescription": "Browse here Motel Listing and get right information about related business.",
"intDisplayOrder": "6",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:10:19",
"dtModifyDate": "2015-08-20 10:24:38",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "9",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Resorts",
"varAlias": "resorts",
"chrImageFlag": "U",
"varImage": "resort1437736195.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "8",
"intMobHits": "4",
"varMetaTitle": "Resorts Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Resorts Listing, Cayman Islands Business Portal, Resorts Business, Online Business",
"varMetaDescription": "Browse here Resorts Listing and get right information about related business.",
"intDisplayOrder": "7",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:09:55",
"dtModifyDate": "2015-08-20 10:25:18",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "8",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Indoor Sports",
"varAlias": "indoor",
"chrImageFlag": "U",
"varImage": "indor-sports1437736159.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "8",
"intMobHits": "4",
"varMetaTitle": "Indoor Sports Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Indoor Sports Listing, Cayman Islands Business Portal, Indoor Sports Business, Online Business",
"varMetaDescription": "Browse here Indoor Sports Listing and get right information about related business.",
"intDisplayOrder": "8",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:09:19",
"dtModifyDate": "2015-08-20 10:25:28",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "7",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Outdoor Sports",
"varAlias": "outdoor-sports",
"chrImageFlag": "U",
"varImage": "outdoor-sports1437736124.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "6",
"intMobHits": "4",
"varMetaTitle": "Outdoor Sports Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Outdoor Sports Listing, Cayman Islands Business Portal, Outdoor Sports Business, Online Business",
"varMetaDescription": "Browse here Outdoor Sports Listing and get right information about related business.",
"intDisplayOrder": "9",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:08:44",
"dtModifyDate": "2015-08-20 10:25:44",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "6",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Bars",
"varAlias": "bars",
"chrImageFlag": "U",
"varImage": "bars1437736088.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "8",
"intMobHits": "4",
"varMetaTitle": "Bars Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Bars Listing, Cayman Islands Business Portal, Bars Business, Online Business",
"varMetaDescription": "Browse here Bars Listing and get right information about related business.",
"intDisplayOrder": "10",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:08:08",
"dtModifyDate": "2015-08-20 10:26:07",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "5",
"fk_Category": "0",
"fk_CatList": "1,2,3,5",
"varName": "Night Clubs",
"varAlias": "night-clubs",
"chrImageFlag": "U",
"varImage": "night-clubs1437736013.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "8",
"intMobHits": "4",
"varMetaTitle": "Night Clubs Listing - Cayman Islands Business Portal",
"varMetaKeyWord": "Night Clubs Listing, Cayman Islands Business Portal, Night Clubs Business, Online Business",
"varMetaDescription": "Browse here Night Clubs Listing and get right information about related business.",
"intDisplayOrder": "11",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-07-24 06:06:53",
"dtModifyDate": "2015-08-20 10:26:18",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "15",
"fk_Category": "0",
"fk_CatList": "3,5",
"varName": "Family Tours",
"varAlias": "family-tours",
"chrImageFlag": "U",
"varImage": "resort1439218271.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "5",
"intMobHits": "4",
"varMetaTitle": "Family Tours Listing - Cayman Islands Portal",
"varMetaKeyWord": "Family Tours Listing, Cayman Islands Portal, Family Tours, Online Listing",
"varMetaDescription": "Browse here Family Tours Listing and get right information about related listing.",
"intDisplayOrder": "13",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-08-08 05:18:34",
"dtModifyDate": "2015-08-20 10:27:03",
"varIPAddress": "",
"varAdminUser": ""
}, {
"intGlCode": "17",
"fk_Category": "0",
"fk_CatList": "3,5",
"varName": "Excursions",
"varAlias": "excursions",
"chrImageFlag": "U",
"varImage": "business-cate-icn1439029237.png",
"varUrlImage": null,
"varIcon": "",
"varShortDescription": "",
"intWebHits": "5",
"intMobHits": "4",
"varMetaTitle": "Excur Listing - Cayman Islands Portal",
"varMetaKeyWord": "Excur Listing, Cayman Islands Portal, Excur, Online Listing",
"varMetaDescription": "Browse here Excur Listing and get right information about related listing.",
"intDisplayOrder": "15",
"chrPublish": "Y",
"chrDelete": "N",
"dtCreateDate": "2015-08-08 05:20:37",
"dtModifyDate": "2015-08-20 10:27:48",
"varIPAddress": "",
"varAdminUser": ""
}]
]
}
答案 0 :(得分:1)
要获得这样的数据:
(您可能不需要JSON.parse,如果抛出并错误将其取出并仅使用数据)
$http({
method: 'POST',
url: API_HOST+'/webservice/Get_FilterDetails',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'caymanauth': caymanauth
},
data: '&Catid='+Catid
}).success(function (data) {
var myData = JSON.parse(data);
// myData is now regular javascript objects and arrays
console.log(myData);
}).error(function () {
alert("error");
});
您的数据奇怪的是详细信息字段中的数组。
它包含像“Rate Type”和Arrays这样的字符串,这是不可用的
因此,您只需要遍历Details数组,查找与您要查找的“Rate Type”等相匹配的String,然后将下一个元素作为数组
for(var i=0; i < data.Details.length - 1; i++){
if(data.Details[i] == "Rate Type"){
return data.Details[i + 1]; // the array for "Rate Type"
}
}