javascript如何将键值对数组积垢成字符串
我需要在如下字段中存储键值数组:javascript如何将键值对数组积垢成字符串,javascript,arrays,crud,key-value,Javascript,Arrays,Crud,Key Value,我需要在如下字段中存储键值数组: <input type="text" id="test" >{key1="a"}{key2="b"}</input> {key1=“a”}{key2=“b”} 如何读取和更新它?您的输入标记无效;它需要自动关闭 也就是说,我会将数据存储为带有JSON的data-*属性: <input data-val='{ "key1": "a", "key2": "b"}' type="text" id="test" /> 这不是有效
<input type="text" id="test" >{key1="a"}{key2="b"}</input>
{key1=“a”}{key2=“b”}
如何读取和更新它?您的输入标记无效;它需要自动关闭 也就是说,我会将数据存储为带有JSON的data-*属性:
<input data-val='{ "key1": "a", "key2": "b"}' type="text" id="test" />
这不是有效的JSON。JSON必须使用双引号,而不是单引号。@Barmar-ha-我不知道。感谢双引号是有意义的,因为值可能包含
”
。
var inp = document.getElementById('test');
var obj = JSON.parse(inp.getAttribute('data-val'));
console.log(obj);
obj.key1 = "updated";
obj.key3 = "foo";
inp.setAttribute('data-val', JSON.stringify(obj));
console.log("updated", inp.getAttribute('data-val'));