【发布时间】:2021-11-22 08:49:32
【问题描述】:
我正在尝试从我的 node.js 服务器上的输入字段解析 json 数据。如果我只是将值 16 作为输入字段中的值,我可以简单地用request.body.id(<input type="hidden" id="id" name="id" value="16"/>))读出它。但是当我将 json 字符串化为输入字段的值并解析 json 的数据时,我总是收到错误SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>)。但是我可以在浏览器控制台中看到我的json数据 <input type="hidden" id="id" name="id" value="{" a":0.3,"b":0.5,"c":1.3}">为什么我不能用request.body.id读取输入字段的值?
【问题讨论】:
-
请贴出导致解析器错误的字符串。在
JSON.parse之前添加console.log。 -
您可能只发送
{。属性为value="{"。将value="{" a":0.3,"b":0.5,"c":1.3}"替换为value="{\" a\":0.3,\"b\":0.5,\"c\":1.3}" -
@jabaa 我已经尝试过了,但我总是一无所获。我只得到一个开放的花括号而没有右大括号。
{但正如我提到的,我可以在浏览器检查中看到我的 json。 -
@jabaa 我该怎么做?我有一个像
data = {a: 1, b:2, c:3}这样的对象,然后像这样var json = JSON.stringify(data)对其进行字符串化 -
我不明白这与问题有什么关系。在问题中,您在 HTML 中硬编码了导致特定问题的 JSON。我的回答中有一个可能的解决方案。您是否在 JavaScript 中使用
'<input type="hidden" id="id" name="id" value="' + json + '">'之类的内容生成 HTML?
标签: javascript html node.js json