Javascript JS:传递的JSON数组丢失引号

Javascript JS:传递的JSON数组丢失引号,javascript,html,json,Javascript,Html,Json,基本上,我试图通过onclick将json数组传递给函数 点击我 但是,当我试图通过JSON.parse解析字符串时,我意识到键和值都没有引号。有没有“好”的方法来解决这个问题,或者我需要使用正则表达式 致意 编辑 这是相应的功能: function showAccountOverviewModal(accountName, accountBills) { $("#accountModalOverviewTitle").text(accountName); accountBills

基本上,我试图通过onclick将json数组传递给函数


点击我
但是,当我试图通过JSON.parse解析字符串时,我意识到键和值都没有引号。有没有“好”的方法来解决这个问题,或者我需要使用正则表达式

致意

编辑

这是相应的功能:

function showAccountOverviewModal(accountName, accountBills) {
  $("#accountModalOverviewTitle").text(accountName);
  accountBills = JSON.parse(accountBills);
  console.log(accountBills);
  accountBills.forEach(bill => {
    console.log(bill);
  });
}

看起来您可能正在传递一个javascript数组(已解析),而不是JSON数组(表示数组的字符串)。如果是这样,在
JSON.parse
ing它之前,运行

console.log(Array.isArray(accountBills))
应打印
true
。如果它实际上是JSON,则会打印
false
并运行

console.log(typeof accountBills)
将打印
字符串


如果它是一个数组,那么您不需要解析它,删除
JSON.parse
行应该可以让它按预期工作。

看起来您可能传递的是一个javascript数组(已经解析),而不是JSON数组(表示数组的字符串)。如果是这样,在
JSON.parse
ing它之前,运行

console.log(Array.isArray(accountBills))
应打印
true
。如果它实际上是JSON,则会打印
false
并运行

console.log(typeof accountBills)
将打印
字符串


如果它是一个数组,那么您不需要解析它,删除
JSON.parse
行应该可以使它按预期工作。

我将使用data-*属性重写您的代码。如果你不想要这种方法,你可以忽略不计

html


这里还有一个在html中存储json对象的参考

我将使用data-*属性重写代码。如果你不想要这种方法,你可以忽略不计

html


这里还有一个在html中存储json对象的参考

您能展示一些
showcountoverviewmodel
函数吗?了解这些参数是如何使用的会很有帮助。你用什么来解析
@TomHolmes编辑了代码以提供更多信息你有一些ASP或EJS或其他东西,你可以从中生成带有嵌入式JavaScript的HTML。查看生成的HTML。找出它的问题所在,然后考虑如何更改ASP/EJS/任何东西,使其生成您真正需要的内容。您能否演示一些
showcountoverviewmodel
功能?了解这些参数是如何使用的会很有帮助。你用什么来解析
@TomHolmes编辑了代码以提供更多信息你有一些ASP或EJS或其他东西,你可以从中生成带有嵌入式JavaScript的HTML。查看生成的HTML。找出它的错误,然后考虑如何更改ASP/EJS/任何东西,使其生成您真正需要的内容。