在研究Javascript和JQuery时,我觉得在一个黑洞中有一个非常基本的代码。我需要将JS对象转换为字符串usign JSON.stringify。 该对象是通过汇集来自不同来源的数据来构建的 为简化此事,这是一个带有输入字段的裸示例,用于输入对象的数据:
<html><head><meta charset="UTF-8" /></head>
<body>
<input type="text" id="txt" value="{Name: 'John Smith' , Value: 99}">`
<button id="test" type="text" value="3">TEST</button>
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#test").on('click',test);
});
function test() {
query = $("#txt").val();
json = JSON.stringify(query);
console.log("query="+json); //"{Name: 'John Smith' , Value: 99}"
query={ Name: 'John Smith', Value: 99 };
json = JSON.stringify(query);
console.log("query="+json); //{"Name":"John Smith","Value":99}
return false;
};
</script>
</body>
</html>
如您所见,输入文本在内联代码时不是“字符串化”。 错误在哪里? 感谢
答案 0 :(得分:2)
如您所见,输入文字未按字母顺序排列&#39;而内联代码是。错误在哪里?
您从输入中读取的值是已经是字符串,而不是对象。
答案 1 :(得分:1)
有几件事:
string
类型;和value="{Name: 'John Smith' , Value: 99}
)不是有效的JSON格式。 <强>解决方案强>
您可以尝试从代码中删除第一个JSON.stringify
使用行。并且,将输入字段值中的引号切换为:value='{"Name": "John Smith", "Value": 99}'
。这应该是你的伎俩。