提取API对Javascript中JSON对象响应的特定部分

extract specific part of API response to JSON object in Javascript

本文关键字:响应 定部 对象 JSON API Javascript 提取      更新时间:2023-09-26

我正在尝试询问来自recognition(时尚识别)API的API响应。返回的数据如下所示。我正试图从下面的物体中提取服装。

Object {data: "   Array↵(↵    [id] => 1309↵)↵{"Status":true,"Data":{"VufindTags":["Dress"," Purse"]}}", status: 200, headers: function, config: Object, statusText: "OK"}config: Objectdata: "   Array↵(↵    [id] => 1309↵)↵{"Status":true,"Data":{"VufindTags":["Dress"," Purse"]}}"headers: function (name) {status: 200statusText: "OK"__proto__: Object

我尝试使用data.data访问,它以字符串形式返回以下内容:

"   Array
(
[id] => 1309
)
{"Status":true,"Data":{"VufindTags":["Dress"," Purse"]}}"

然后我尝试使用JSON.parse从VufindTags中提取数据。这不起作用。

有没有办法将其转换为JSON对象??

谢谢你的帮助!!

看起来vufind API为您提供的是PHP print_r输出,而不是JSON。最好的办法是让他们修复API。如果做不到这一点,您可以提取JSON化的位。我在这方面取得了一些成功:

myObj = JSON.parse(apiOutput.slice(apiOutput.indexOf('{')))

但我不会把它放在一个应用程序中,并称之为生产就绪,尤其是当API显然一开始就没有给你它应该给的东西时。