我有一个输入元素,其值如下所示:
value="{"logEntries":[],"value":"CHCN1","text":"CHCN AAH COMPLETE CARE (CHCN1)","enabled":true,"checkedIndices":[],"checkedItemsTextOverflows":false}"
当我通过jQuery检索值时,我得到的是第一个{因为它包含在引号中...如何获取整个JSON对象?
答案 0 :(得分:0)
例如,在node.js控制台中,您可以对单引号字符串运行JSON.parse()
,将其转换为可调用的JSON对象:
> value = JSON.parse('{"logEntries":[], "value":"CHCN1","text":"CHCN AAH COMPLETE CARE (CHCN1)","enabled":true,"checkedIndices":[],"checkedItemsTextOverflows":false}');
{ logEntries: [],
value: 'CHCN1',
text: 'CHCN AAH COMPLETE CARE (CHCN1)',
enabled: true,
checkedIndices: [],
checkedItemsTextOverflows: false }
> value.value
'CHCN1'
>
您不需要jQuery将String解析为JavaScript对象。
答案 1 :(得分:0)
我假设你有来自服务器的内容。
如果您改为
$(function() {
var jsObj = {"logEntries":[],"value":"CHCN1","text":"CHCN AAH COMPLETE CARE (CHCN1)","enabled":true,"checkedIndices":[],"checkedItemsTextOverflows":false}
$("#inputId").val(JSON.stringify(jsObj));
});
如果不可能,您需要将输入更改为
<input value='{....}' />
答案 2 :(得分:-2)
输入字段的值(尤其是双值)未正确转义。用前导反斜杠来逃避双引号。