如何解码类似 JSON 的 JavaScript 对象文字字符串
How to decode JSON-like JavaScript Object Literal Strings
我无法从我认为是 JSON 的字符串数组中解码
。var result = [
"{gene: 'PEX2', go_bp: '0.766500871709', CombinedPvalue: '9.999999995E-4'}",
"{gene: 'PEX5', go_bp: '0.766472586087', CombinedPvalue: '9.999999995E-4'}",
"{gene: 'PEX7', go_bp: '0.766386859737', CombinedPvalue: '9.999999995E-4'}"
];
您可以看到 JavaScript 对象文字有 3 个与基因相关的字符串,每个字符串都编码为一个字符串。如何解码这些内容?
我试过JSON.parse
但它给了我一个错误。
for (var i = 0; i < result.length; i++)
console.log(JSON.parse(result[i]));
Uncaught SyntaxError: Unexpected token g
.
有没有简单的方法?
由于这是有效的 javascript,您可以使用 Function()
通过创建一个匿名函数然后立即执行它来返回对象的新实例。 与 eval()
的其他答案不同,您不必声明一个变量并将对象文字分配给传递给 eval 的字符串中的该变量 - 您需要的一切都可以在一行中干净利落地完成。
var result = [
"{gene: 'PEX2', go_bp: '0.766500871709', CombinedPvalue: '9.999999995E-4'}",
"{gene: 'PEX5', go_bp: '0.766472586087', CombinedPvalue: '9.999999995E-4'}",
"{gene: 'PEX7', go_bp: '0.766386859737', CombinedPvalue: '9.999999995E-4'}"
];
for (var i = 0; i < result.length; i++) {
// create function that returns the obj literal
// and call it immedieately.
var obj = new Function( 'return ' + result[i] + ';' )();
document.write('gene: ' + obj.gene + ' <br />');
}
你拥有的不是JSON,而是文本形式的Javascript对象。您可以使用eval()
将它们转换为Javascript对象:
var result = [
"{gene: 'PEX2', go_bp: '0.766500871709', CombinedPvalue: '9.999999995E-4'}",
"{gene: 'PEX5', go_bp: '0.766472586087', CombinedPvalue: '9.999999995E-4'}",
"{gene: 'PEX7', go_bp: '0.766386859737', CombinedPvalue: '9.999999995E-4'}"
];
var f;
for (var i = 0; i < result.length; i++) {
eval("f = "+result[i]);
console.log(f.gene);
}
注意:eval
通常被认为是邪恶的。在这种情况下,如果您绝对确定源数组将永远保存数据,并且没有代码,那么它就足够安全了。
JSON 格式要求属性名称两边用双引号引起来。您的示例数据缺少这些引号,这不是有效的 JSON。
它还需要双引号值,而不是单引号。
尝试这样的事情:
'{"gene": "PEX2", "go_bp": "0.766500871709", "CombinedPvalue": "9.999999995E-4"}',
相关文章:
- 更改json/javascript对象var名称或从数字var中检索值
- XML字符串转换为JSON javascript
- ASP.NET WebApi DateTimeOffset 序列化为 Json/JavaScript (angular2
- 对 JSON JavaScript 中的值应用折扣
- 使用JSON/JavaScript将成员添加到Office 365组
- 格式不正确的json/javascript
- Json javascript parsing
- JSON JavaScript 未定义的变量问题
- 在 JSON/Javascript 中表示一天中的时间的首选方法
- XML 到 JSON JavaScript 函数不起作用
- loop through json javascript
- 在 Rails 中对 JSON/Javascript 解析的正确过程
- 在 JSON JavaScript 中查找和替换
- JSON / JavaScript 获取对象键
- 过滤嵌套的 JSON JavaScript
- 将不带属性的值附加到 json javascript
- JSON+Javascript/jQuery.如何从 json 文件导入数据并对其进行解析
- parse facebook json javascript
- 在嵌套的 json javascript 中显示数组的所有键值对
- 将两个 json/javascript 数组合并为一个数组