对 JSON 数据进行编码以保留 json 格式

本文关键字:保留 json 格式 编码 JSON 数据 | 更新日期: 2023-09-27 17:57:24

由于JSON值是动态生成的,并且其中的值基于用户输入,因此如果用户在字符串中输入不可接受的字符(如"),将使json无效。

像这样:

{
     "tag" : "demo",
     "value": "user " input" 
}

有没有办法对 JSON 值进行编码或转义?

对 JSON 数据进行编码以保留 json 格式

你应该为此使用 JSON.stringify。它将自动添加转义字符'

下面是一个示例:

function processValues(){
  var v1 = document.getElementById("txt1").value;
  var v2 = document.getElementById("txt2").value;
  var o = {
    value1: v1,
    value2: v2
  };
  var result = JSON.stringify(o);
  console.log(result);
}
function test1(){
  document.getElementById("txt1").value = "Hello";
  document.getElementById("txt2").value = 'World! "test"';
}
test1();
<input type="text" id="txt1"/>
<input type="text" id="txt2"/>
<button onclick="processValues()">Create JSON string</button>