【问题标题】:Getting error trying to extract data from JSON尝试从 JSON 中提取数据时出错
【发布时间】:2020-05-08 22:06:42
【问题描述】:

我这个 JSON 为 input_data:

{"product":["1\/4 Page Ad (Amount: 25.00 USD, Quantity: 1)"],"currency":"USD","total":"25.00","transactionID":"34444622CG671084E","transactionFee":"1.03","transactionFeeCurrency":null,"payerName":"Laurence J Lafleur","payerEmail":"lafleur.julien@gmail.com","fullname":"Laurence J Lafleur","email":"lafleur.julien@gmail.com","transactionid":"34444622CG671084E","shiptoname":"Laurence J Lafleur","addr":"8 East Street ","city":"NATICK","state":"MA","postal":"01760","country":"US"}

我正在尝试从product 字段中提取信息:1/4 Page Ad (Amount: 25.00 USD, Quantity: 1)

我的代码如下所示:

var myvar = JSON.parse(input_data)
var myret = myvar.product
return myret

我收到以下错误:"SyntaxError: Unexpected token o in JSON at position 1"

我将不胜感激指针、一般缺失的概念等。

感激不尽,

朱利安

【问题讨论】:

  • 看起来它已经是一个对象了。你试过var myret = input_data.product; return myret 吗?
  • 我认为你不需要调用JSON.parse(),因为数据已经是一个对象了。

标签: javascript json zapier


【解决方案1】:

嗯,有两件事不对。

  • SyntaxError: Unexpected token o in JSON at position 1 开头: 你得到这个是因为你没有在string上使用JSON.parse,你在object上使用JSON.parse;在幕后,JSON.parse 将尝试从你给它的输入中创建一个字符串,如果输入不是字符串,所以{}.toString() === '[object Object]',你基本上是在运行JSON.parse('[object Object]'),这不是有效的 JSON(看看第二个字符或位置 1 的字符,它是一个 'o' 而不是字符串、布尔值、对象、数组或数字)

  • 第二个问题是myvar.product 是一个数组,您希望得到数组内部的内容,而不是数组本身。你需要回myvar.product[0]

试试这个:

function test(){
    var data = '{"product":["1\/4 Page Ad (Amount: 25.00 USD, Quantity: 1)"],"currency":"USD","total":"25.00","transactionID":"34444622CG671084E","transactionFee":"1.03","transactionFeeCurrency":null,"payerName":"Laurence J Lafleur","payerEmail":"lafleur.julien@gmail.com","fullname":"Laurence J Lafleur","email":"lafleur.julien@gmail.com","transactionid":"34444622CG671084E","shiptoname":"Laurence J Lafleur","addr":"8 East Street ","city":"NATICK","state":"MA","postal":"01760","country":"US"}'

    var myvar = JSON.parse(data);
    var myret = myvar.product[0];
    return myret;
}
console.log(test());

【讨论】:

    猜你喜欢
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 2019-10-06
    • 2021-09-18
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多