Google Chrome JSON.编码/解码数组
Google Chrome JSON.encode / decode array
所以,我写一个小的Greasemonkey Userscript和它的工作在Firefox中很好,但如果我试图运行它与Tampermonkey在谷歌Chrome我得到奇怪的错误编码/解码数组。
我试图使脚本跨浏览器兼容,所以我不得不写一个函数来决定使用哪些JSON方法
function jsonEncode(string) {
try {
return JSON.stringify(string);
} catch (e) {
return JSON.encode(string);
}
}
function jsonDecode(obj) {
try {
return JSON.parse(obj);
} catch (e) {
return JSON.decode(obj);
}
}
为了简化,我现在将代码简化为一个简单的数组,并尝试编码/解码和迭代
var array = ['string1', 'string2'];
var encoded = jsonEncode(array);
localStorage.setItem('json_test', encoded);
var decoded = jsonDecode(localStorage.getItem('json_test'));
for(var i = 0; i < decoded.length; i++) {
console.log(decoded[i]);
}
我期望输出是
string1
string2
chrome给了我这个
[
"
s
t
r
i
n
g
1
"
,
"
s
t
r
i
n
g
2
"
]
有没有人知道如何解决这个问题,或者为什么chrome是这样做的?
EDIT 1: Chrome Version 15.0.874.121 m
编辑2:还没有弄清楚,但当我尝试它与一个对象,而不是一个数组,它的工作,所以我会这样做,现在,感谢您的时间和帮助!
在Chrome中打开JS控制台-这可以让你在循环中设置断点-并在变量上添加监视。
除了jsonDecode不解码-还有括号…
问题是你解码成字符串,就像它看起来的那样——这就是为什么它把字符串分成字母——就像你编码它一样。
JSON普通表示数组…也许可以检查文档以获得正确的输出参数。
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- PHP数组JSON编码和该对象在ExtJs中解码
- PDO fetchAll,fetch及其与解码JSON数组的使用
- 编码然后在 base64 中解码不会输出我的输入数组缓冲区
- 解码多维数组并插入到 mysql 中
- 在 JSONObject 中解码 JSON 对象和 JSON 数组
- 我无法使用JSON从ajax解码数组,我做错了什么
- 如何解码数组中的javascript元素
- 解码Javascript数组
- Google Chrome JSON.编码/解码数组
- 收到错误"聚合物::属性:无法't解码数组为JSON"在聚合物中使用铁ajax
- 如何将JSON数组解码为两个变量
- JSON中的关联数组解码
- 如何解码CSV数组?Javascript
- 如何使用jquery解码json数据到数组值
- 如何解码和编码一个多维数组在javascript和php
- 基本的java脚本json子数组解码