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