Javascript 解析字符串以获取数组详细信息
我从服务器获得如下响应,如下所示Javascript 解析字符串以获取数组详细信息,javascript,json,Javascript,Json,我从服务器获得如下响应,如下所示 { "statusCode": 200, "body": "{\"Errors\":\"\",\"Message\":\"\",\"Output\":\"\",\"TokenID\":\"F106457749C\",\"OrgID\":0,\"OutputObject\":{\"Details\":{\"CatalogDetail\":[{\"CatalogID\":74,\"CategoryID\":22,\"ShortCatalogName\":\"
{
"statusCode": 200,
"body": "{\"Errors\":\"\",\"Message\":\"\",\"Output\":\"\",\"TokenID\":\"F106457749C\",\"OrgID\":0,\"OutputObject\":{\"Details\":{\"CatalogDetail\":[{\"CatalogID\":74,\"CategoryID\":22,\"ShortCatalogName\":\"Email Forwarding\",\"CatalogName\":\"Email Forwarding\",\"Description\":\"Use this catalog for email forwarding \",\"IsVendor\":false,\"IsPackage\":false,\"AncestorParent_CategoryID\":58,\"IsEntitled\":0,\"CategoryName\":\"Email\",\"ServiceCatalogBGColor\":\"\"}],\"BaseUrl\":\"https://serviceimg-attachments\"}}}",
"headers": {
"cache-control": "private",
"content-type": "application/octet-stream",
"server": "Microsoft-IIS/8.5",
"set-cookie": [
"ASP.NET_SessionId=m0jbtyi12mzefkkyh3xd4i0m; path=/; HttpOnly",
".ASPXAUTH=41C6BC3E87DBF106457749C; path=/"
],
"x-aspnet-version": "4.0.30319",
"x-powered-by": "ASP.NET",
"date": "Mon, 15 Oct 2018 17:51:09 GMT",
"connection": "close",
"content-length": "779"
}
}
我想解析body response.body,它是一个字符串。解析的原因是获取数组response.body.OutputObject.Details.CatalogDetail
。但当我这样做时,我会得到未定义的详细信息。有人能帮我获取CatalogDetail数组吗
谢谢
Arul这是因为body的值是字符串格式的,如果您想以json格式访问它,您需要首先解析它,请查看下面的代码snipet以了解更多信息
var响应={
“状态代码”:200,
“正文”:“{”错误\“:\”,““消息\“:\”,““输出\“:\”,““令牌ID\”:“F106457749C\”,““组织ID\”:0,““输出对象\”:{”详细信息\“:{”目录详细信息\“:[{”目录ID\”:74,““分类ID\”:22,““短目录名\”:“电子邮件转发\“,“目录名\”:“电子邮件转发\”,“,“,“描述\-”:“使用此目录转发”,“,”假供应商\\”iPackage\“:false,\“AncestorParent\u CategoryID\”:58,\“IsEntiteded\”:0,\“CategoryName\”:“Email\”,\“ServiceCatalogBGColor\”:\“\”,{“CatalogID\”:75,\“CategoryID\”:22,\“ShortCatalogName\”:“Email Forwarding2\”,“CatalogName\”:“Email Forwarding2\,“Description\”:“使用此目录转发电子邮件\”,“IsPackage供应商\”:false,\”,“iPackage\”,“iPackageAncestorParent\u CategoryID\“:58,\“IsEntited\”:0,\“CategoryName\:\“Email\”,\“ServiceCatalogBGColor\”:\“\”,\“BaseUrl\:\”https://serviceimg-attachments\"}}}",
“标题”:{
“缓存控制”:“专用”,
“内容类型”:“应用程序/八位字节流”,
“服务器”:“Microsoft IIS/8.5”,
“设置cookie”:[
“ASP.NET_SessionId=m0jbtyi12mzefkkyh3xd4i0m;path=/;HttpOnly”,
“.ASPXAUTH=41C6BC3E87DBF106457749C;路径=/”
],
“x-aspnet-version”:“4.0.30319”,
“x-powered-by”:“ASP.NET”,
“日期”:“2018年10月15日星期一17:51:09 GMT”,
“连接”:“关闭”,
“内容长度”:“779”
}
}
var body=JSON.parse(response.body)
var Catelogs=body.OutputObject.Details.CatalogDetail;
对于(var i=0;i这是因为主体的值是字符串格式的,如果您想以json格式访问它,您需要首先解析它,请查看下面的代码snipet以了解更多信息
var响应={
“状态代码”:200,
“正文”:“{”错误\“:\”,““消息\“:\”,““输出\“:\”,““令牌ID\”:“F106457749C\”,““组织ID\”:0,““输出对象\”:{”详细信息\“:{”目录详细信息\“:[{”目录ID\”:74,““分类ID\”:22,““短目录名\”:“电子邮件转发\“,“目录名\”:“电子邮件转发\”,“,“,“描述\-”:“使用此目录转发”,“,”假供应商\\”iPackage\“:false,\“AncestorParent\u CategoryID\”:58,\“IsEntiteded\”:0,\“CategoryName\”:“Email\”,\“ServiceCatalogBGColor\”:\“\”,{“CatalogID\”:75,\“CategoryID\”:22,\“ShortCatalogName\”:“Email Forwarding2\”,“CatalogName\”:“Email Forwarding2\,“Description\”:“使用此目录转发电子邮件\”,“IsPackage供应商\”:false,\”,“iPackage\”,“iPackageAncestorParent\u CategoryID\“:58,\“IsEntited\”:0,\“CategoryName\:\“Email\”,\“ServiceCatalogBGColor\”:\“\”,\“BaseUrl\:\”https://serviceimg-attachments\"}}}",
“标题”:{
“缓存控制”:“专用”,
“内容类型”:“应用程序/八位字节流”,
“服务器”:“Microsoft IIS/8.5”,
“设置cookie”:[
“ASP.NET_SessionId=m0jbtyi12mzefkkyh3xd4i0m;path=/;HttpOnly”,
“.ASPXAUTH=41C6BC3E87DBF106457749C;路径=/”
],
“x-aspnet-version”:“4.0.30319”,
“x-powered-by”:“ASP.NET”,
“日期”:“2018年10月15日星期一17:51:09 GMT”,
“连接”:“关闭”,
“内容长度”:“779”
}
}
var body=JSON.parse(response.body)
var Catelogs=body.OutputObject.Details.CatalogDetail;
对于(var i=0;i我正在以以下方式进行操作,它正在工作。我无法解析完整的对象。像这样单独获取body对象
var body = JSON.parse(res["body"])
然后按照下面的方式使用它
JSON.parse(res["body"]).OutputObject.Details.CatalogDetail
我用下面的方法来做,它正在工作。我无法解析完整的对象。像这样单独获取body对象
var body = JSON.parse(res["body"])
然后按照下面的方式使用它
JSON.parse(res["body"]).OutputObject.Details.CatalogDetail
您需要将主体解析为json。可能您正在使用的任何框架都有一个类似于response.json()
-的方法,但您可以只使用json.parse
response = {
"statusCode": 200,
"body": "{\"Errors\":\"\",\"Message\":\"\",\"Output\":\"\",\"TokenID\":\"F106457749C\",\"OrgID\":0,\"OutputObject\":{\"Details\":{\"CatalogDetail\":[{\"CatalogID\":74,\"CategoryID\":22,\"ShortCatalogName\":\"Email Forwarding\",\"CatalogName\":\"Email Forwarding\",\"Description\":\"Use this catalog for email forwarding \",\"IsVendor\":false,\"IsPackage\":false,\"AncestorParent_CategoryID\":58,\"IsEntitled\":0,\"CategoryName\":\"Email\",\"ServiceCatalogBGColor\":\"\"}],\"BaseUrl\":\"https://serviceimg-attachments\"}}}",
"headers": {
"cache-control": "private",
"content-type": "application/octet-stream",
"server": "Microsoft-IIS/8.5",
"set-cookie": [
"ASP.NET_SessionId=m0jbtyi12mzefkkyh3xd4i0m; path=/; HttpOnly",
".ASPXAUTH=41C6BC3E87DBF106457749C; path=/"
],
"x-aspnet-version": "4.0.30319",
"x-powered-by": "ASP.NET",
"date": "Mon, 15 Oct 2018 17:51:09 GMT",
"connection": "close",
"content-length": "779"
}
}
body = JSON.parse(response.body)
body.OutputObject.Details.CatalogDetail
您需要将主体解析为json。可能您正在使用的任何框架都有一个类似于response.json()
-的方法,但您可以只使用json.parse
response = {
"statusCode": 200,
"body": "{\"Errors\":\"\",\"Message\":\"\",\"Output\":\"\",\"TokenID\":\"F106457749C\",\"OrgID\":0,\"OutputObject\":{\"Details\":{\"CatalogDetail\":[{\"CatalogID\":74,\"CategoryID\":22,\"ShortCatalogName\":\"Email Forwarding\",\"CatalogName\":\"Email Forwarding\",\"Description\":\"Use this catalog for email forwarding \",\"IsVendor\":false,\"IsPackage\":false,\"AncestorParent_CategoryID\":58,\"IsEntitled\":0,\"CategoryName\":\"Email\",\"ServiceCatalogBGColor\":\"\"}],\"BaseUrl\":\"https://serviceimg-attachments\"}}}",
"headers": {
"cache-control": "private",
"content-type": "application/octet-stream",
"server": "Microsoft-IIS/8.5",
"set-cookie": [
"ASP.NET_SessionId=m0jbtyi12mzefkkyh3xd4i0m; path=/; HttpOnly",
".ASPXAUTH=41C6BC3E87DBF106457749C; path=/"
],
"x-aspnet-version": "4.0.30319",
"x-powered-by": "ASP.NET",
"date": "Mon, 15 Oct 2018 17:51:09 GMT",
"connection": "close",
"content-length": "779"
}
}
body = JSON.parse(response.body)
body.OutputObject.Details.CatalogDetail
试着这样做:
var myObject = JSON.parse("my json string");
试着这样做:
var myObject = JSON.parse("my json string");
使用JSON.parse(data.body)
将字符串解析为JSON,您可以执行任何操作
阅读更多
下面是片段
var数据={
“状态代码”:200,
“正文”:“{”错误\“:\”,““消息\“:\”,““输出\“:\”,““令牌ID\”:“F106457749C\”,““组织ID\”:0,““输出对象\”:{”详细信息\“:{”目录详细信息\“:[{”目录ID\”:74,““分类ID\”:22,““短目录名\”:“电子邮件转发\“,“目录名\”:“电子邮件转发\”,“,“,“描述\-”:“使用此目录转发”,“,”假供应商\\”iPackage\“:false、\“AncestorParent\u CategoryID\”:58、\“IsEntiteded\”:0、\“CategoryName\”:\“Email\”、\“ServiceCatalogBGColor\”:\“\”}]、\“BaseUrl\:\”https://serviceimg-attachments\"}}}",
“标题”:{
“缓存控制”:“专用”,
“内容类型”:“应用程序/八位字节流”,
“服务器”:“Microsoft IIS/8.5”,
“设置cookie”:[
“ASP.NET_SessionId=m0jbtyi12mzefkkyh3xd4i0m;path=/;HttpOnly”,
“.ASPXAUTH=41C6BC3E87DBF106457749C;路径=/”
],
“x-aspnet-version”:“4.0.30319”,
“x-powered-by”:“ASP.NET”,
“日期”:“2018年10月15日星期一17:51:09 GMT”,
“连接”:“关闭”,
“内容长度”:“779”
}
};
var output=JSON.parse(data.body);
console.log(output.OutputObject.Details.CatalogDetail);
使用JSON.parse(data.body)
将字符串解析为JSON,您可以执行任何操作
阅读更多
下面是片段
var数据={
“状态代码”:200,
“正文”:“{”错误\“:\”,“消息\“:\”,“输出\“:\”,“令牌ID\:\“F106457749C\”,“组织ID\”:0,\“输出对象\:{”D