大家好我正在创建一个Json并将其添加到Sessionstorage
,如下所示
<script type="text/javascript">
function addMoreProducts() {
if (sessionStorage.getItem("empData") === null) {
var empInformation = {
"employees": [
{ "firstName": "John", "lastName": "Doe" },
{ "firstName": "Anna", "lastName": "Smith" },
{ "firstName": "Peter", "lastName": "Jones" }
]
}
var x = JSON.stringify(empInformation);
sessionStorage.setItem("empData", x);
}
else {
if (sessionStorage.getItem("empData") != null) {
var empInformation = {
"employees": [
{ "firstName": "John1", "lastName": "Doe1" },
{ "firstName": "Anna1", "lastName": "Smith1" },
{ "firstName": "Peter1", "lastName": "Jones1" }
]
}
var v = sessionStorage.getItem("empData").toString();
var jParse = JSON.stringify(v);
var jparse1 = JSON.stringify(empInformation);
var arrayOfObjects = [jParse, jparse1];
}
var vparse = JSON.stringify(arrayOfObjects);
var vparse1 = JSON.parse(vparse);
sessionStorage.removeItem('empData');
sessionStorage.setItem("empData", vparse);
}
}
</script>
但是当我在分配数据后从sessionStorage
检索数据时,这并没有给我正确的json格式可以帮助我。这是我得到的格式
“[” \ “{\\” 员工\\ “:[{\\” 名字\\ “:\\” 约翰\\”,\\ “姓氏\\”:\\ “Doe的\\” },{\\ “名字\\”:\\ “安娜\\”,\\ “姓氏\\”:\\ “史密斯\\”},{\\ “名字\\”:\\“彼得\ \ “\\ ”姓氏\\“:\\ ”琼斯\\“}]} \ ”“, ”{\“ 员工\ ”:[{\“ 名字\ ”:\“ John1 \”,\“姓氏\ “:\” DOE1 \ “},{\” 名字\ “:\” Anna1 \”,\ “姓氏\”:\ “Smith1 \”},{\ “名字\”:\ “Peter1 \”,\ “姓氏\”:\ “Jones1 \”}]} “]”
当我在控制台中观看时。此外,我正在使用restful服务,其中我的服务包含datatable
作为参数如何将此json
对象作为DataTable
答案 0 :(得分:0)
这实际上是一个非常广泛讨论的问题:
这是microsof在article
中提出的内容如果此函数导致JavaScript解析器错误(例如“SCRIPT1014:无效字符”),则输入文本不符合JSON语法。要更正错误,请执行以下操作之一: 修改text参数以符合JSON语法。有关更多信息,请参阅JSON对象的BNF语法表示法。 例如,如果响应是JSONP格式而不是纯JSON,请在响应对象上尝试此代码:
var fixedResponse = response.responseText.replace(/\\'/g, "'");
var jsonObj = JSON.parse(fixedResponse);