Javascript 正在转换的json,如何使用ascii文本转换回对象

Javascript 正在转换的json,如何使用ascii文本转换回对象,javascript,json,Javascript,Json,我正在使用JSON.stringify()将一个javascript对象保存到localstorage 定期地,我会发现json字符串从以下位置自发地发生了变化: {"9999999999999":{"case":"dummy","subj":"example","note":"placeholder"}} 进入这个: 正如Pointy最终说服我的那样,它是相同的信息,只是包装在一个“安全信封”中——我需要从信封中取出原始对象 有人能给我看一个如何从那个“信封”中检索原始JSON对象的代码示例

我正在使用JSON.stringify()将一个javascript对象保存到localstorage

定期地,我会发现json字符串从以下位置自发地发生了变化:

{"9999999999999":{"case":"dummy","subj":"example","note":"placeholder"}}
进入这个:

正如Pointy最终说服我的那样,它是相同的信息,只是包装在一个“安全信封”中——我需要从信封中取出原始对象

有人能给我看一个如何从那个“信封”中检索原始JSON对象的代码示例吗

更新:

{"9999999999999":{"case":"dummy","subj":"example","note":"placeholder"}}
我重新打开了这个问题,因为尽管
GoTo 0
给出了有用的答案,但我仍然难以将检索到的字符串转换为对象。GoTo0的答案以一个对象开始,我必须以一个字符串开始,格式与下面的演示完全相同:

我得到的错误是
uncaughtsyntaxerror:JSON中位置1处的意外标记a

“代码>var str的主要内容是:“{代码>var str的主要内容是,{代码>var str的一个<代码>var str的一部分是,,{代码>var str的一部分是,{代码>var str的一部分是,{{异步的一个异步的一个关键是::{代码>的主要的主要的主要的主要是:{代码>代码>的主要的主要的主要是:,,,,,{JSon对象是,JSon对象:{,,{”JS对象是,JS对象:{,,,,,,,{”JS对象:{“U003U0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\C\u0065“,“\u006e\u006f\u0074\u0065”:“\u0070\u006c\u0061\u0063\u0065\u0068\u006f\u006c\u0064\u0065\u0072”}}}”; console.log(str); var obj=JSON.parse(str); var orig=JSON.stringify(obj.jsonObject);
console.log(orig);我不知道您的JSON是如何转换成这种格式的,但是您可以轻松地从
jsonObject
属性的值中提取原始对象,并使用
JSON.stringify
对其进行格式化

const数据=
“异步”的主要对象是:{“\u0039\u0039\u0039\u0039\u0075\u0075\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039-20-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-5关键::,”,JS对象的主要的主要对象是,JS对象是,JSon对象:{,,,,,,{“{”的主要的主要对象是:{“““{”的主要对象是:{”的主要对象是:{“““{”的主要对象是:{“““““““\u0039\u0039\u0039\u0039\u0039\u0039\u0039 F\u0074\u0065:“'\u0070\u006c\u0061\u0063\u0065\u0068\u006f\u006c\u0064\u0065\u0072“}};
const originalJSONString=JSON.stringify(data.jsonObject);

console.log(originalJSONString);
我不知道您的JSON是如何转换成这种格式的,但是您可以轻松地从
jsonObject
属性的值中提取原始对象,并使用
JSON.stringify
对其进行格式化

const数据=
“异步”的主要对象是:{“\u0039\u0039\u0039\u0039\u0075\u0075\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039-20-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-5关键::,”,JS对象的主要的主要对象是,JS对象是,JSon对象:{,,,,,,{“{”的主要的主要对象是:{“““{”的主要对象是:{”的主要对象是:{“““{”的主要对象是:{“““““““\u0039\u0039\u0039\u0039\u0039\u0039\u0039 F\u0074\u0065:“'\u0070\u006c\u0061\u0063\u0065\u0068\u006f\u006c\u0064\u0065\u0072“}};
const originalJSONString=JSON.stringify(data.jsonObject);

console.log(originalJSONString);
我会发现…-怎么回事?是什么让你认为发生了这种情况?你在使用某种调试工具吗?登录到控制台?还要注意,
“\u0039”
”9完全相同“
。它们是JavaScript unicode转义序列,而不是HTML实体。相似,但不同。谢谢你。是的,我正在从localstorage
localstorage.getItem(“存储的\u对象”)
和console.logging检索存储的对象。事实证明,这种情况正在发生——几天前我发现了这一点,现在我开始着手解决它。检索到的对象中的字符串与原始对象中的字符串完全相同;你看到的只是控制台上奇怪的行为。(您使用的浏览器是什么?)谷歌Chrome
55.0.2883.87 m版
。我在连续循环中使用存储的对象,并在其他浏览器选项卡中读取该对象。发生冲突的可能性很小,因为可能有10多个浏览器选项卡都在运行各自的循环并读取相同的localStorage对象(相同的域,基于浏览器的票务系统),而其中一个选项卡可能正在写入该对象。localStorage项损坏可能需要几分钟、几小时甚至几天,但最终还是会发生。能够像GoTo0所演示的那样快速地将其转换回将很好地解决这个问题。我会发现…-怎么用?你凭什么认为会发生这种事?您正在使用某种调试工具吗?登录到控制台?还要注意
“\u0039”
“9”
完全相同。它们是JavaScript unicode转义序列,而不是HTML实体。相似,但不同。谢谢你。是的,我正在从localstorage
localstorage.getItem(“存储的\u对象”)
和console.logging检索存储的对象。事实证明,这种情况正在发生——几天前我发现了这一点,现在我开始着手解决它。检索到的对象中的字符串与原始对象中的字符串完全相同;你看到的只是控制台上奇怪的行为。(您使用的浏览器是什么?)谷歌Chrome
55.0.2883.87 m版
。我在连续循环中使用存储的对象,并在其他浏览器选项卡中读取该对象。发生冲突的可能性很小,因为可能有10多个浏览器选项卡都在运行各自的循环并读取相同的localStorage对象(相同的域,基于浏览器的票务系统),而其中一个选项卡可能正在写入该对象。localStorage项损坏可能需要几分钟、几小时甚至几天,但最终还是会发生。能够像GoTo0所演示的那样快速地将其转换回将很好地解决这个问题。。。如果是这么简单的话,你刚刚救了我的周末。谢谢。真的不需要任何转换。这只是奇怪的控制台行为。我现在在@crashwap上。继续发帖,如果我不能回答,也许其他人会回答。现在测试。。。如果是这么简单的话,你刚刚救了我的周末。谢谢你
{asynchronous_key:'577b3620-8cbd-5251-b526-5882044f1386', jsonObject:{"\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039\u0039":{"\u0063\u0061\u0073\u0065":"\u0064\u0075\u006d\u006d\u0079","\u0073\u0075\u0062\u006a":"\u0065\u0078\u0061\u006d\u0070\u006c\u0065","\u006e\u006f\u0074\u0065":"\u0070\u006c\u0061\u0063\u0065\u0068\u006f\u006c\u0064\u0065\u0072"}}}