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

时间:2015-03-25 11:06:38

标签: javascript json api

我正在尝试从Recognize(时尚识别)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对象?

感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

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

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

...但我不会将其放入应用程序并将其称为生产就绪,特别是当API显然没有为您提供应有的内容时。