javascript - 如何从输入字段解析 JSON
问题描述
我正在尝试从我的 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
?
解决方案
标签
<input type="hidden" id="id" name="id" value="{" a":0.3,"b":0.5,"c":1.3}">
包含属性
type="hidden"
id="id"
name="id"
value="{"
和一些垃圾
a":0.3,"b":0.5,"c":1.3}"
因为 JSON 中的第一个引号关闭了该属性。
你必须伪装引号
<input type="hidden" id="id" name="id" value="{" a":0.3,"b":0.5,"c":1.3}">
在评论中澄清后,这里是一个工作示例:
const json = JSON.stringify({" a":0.3,"b":0.5,"c":1.3});
document.body.innerHTML = `<input value="${json.replaceAll('"', '"')}">`;
const input = document.querySelector('input');
console.log(JSON.parse(input.value));
推荐阅读
- python - 在元组中查找整数,它是字典中的键
- python - Pygame - 添加背景图片
- javascript - 在 JavaScript 中复制冻结数组有什么缺点吗?
- regex - 仅匹配文档根目录中所有带有扩展名的文件
- django - 如何在 gitlab-runner 下的 Kubernetes 执行器上启用 postgis?
- ios - Cordova iOS 应用程序使用 phonegap-plugin-push 未注册或请求授权
- excel - 复制粘贴循环基于关闭缩进级别
- python - 计算列中每个值的 df.describe() 并重新创建数据框
- angular - Angular Service Worker 离线显示错误
- typescript - 错误类型错误:无法读取未定义离子 4 的属性“on”