从input元素获取JSON值

时间:2015-03-18 21:36:30

标签: jquery json

我有一个输入元素,其值如下所示:

value="{"logEntries":[],"value":"CHCN1","text":"CHCN AAH COMPLETE CARE (CHCN1)","enabled":true,"checkedIndices":[],"checkedItemsTextOverflows":false}"

当我通过jQuery检索值时,我得到的是第一个{因为它包含在引号中...如何获取整个JSON对象?

3 个答案:

答案 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)

输入字段的值(尤其是双值)未正确转义。用前导反斜杠来逃避双引号。