Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析字符串以获取数组详细信息_Javascript_Json - Fatal编程技术网

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