首页 > 解决方案 > 如何从json stringify数组中获取所需的输出

问题描述

使用此代码后,我的数组如下所示-:

var array=xmlhttrequest.responseText;

console.log(array);

["{\"result\":{\"isvalid\":true,\"address\":\"3EL5SKSjEzFQDBmXA5JFbsZu48vKnNSdDH\",\"scriptPubKey\":\"a9148aa3d53255b44655f82d163f37ecb68057f2edf487\",\"ismine\":false,\"iswatchonly\":false,\"isscript\":true},\"error\":null,\"id\":\"curltest\"}\n"]

我想要 isvalid 的值,我怎样才能得到这个。

标签: javascriptjsonajax

解决方案


这是一个奇怪的反应。这是一个字符串化数组,该数组包含一个项目,它是另一个字符串化对象。这是一个选项:

const responseText = String.raw`["{\"result\":{\"isvalid\":true,\"address\":\"3EL5SKSjEzFQDBmXA5JFbsZu48vKnNSdDH\",\"scriptPubKey\":\"a9148aa3d53255b44655f82d163f37ecb68057f2edf487\",\"ismine\":false,\"iswatchonly\":false,\"isscript\":true},\"error\":null,\"id\":\"curltest\"}\n"]`;
const [ stringItem ] = JSON.parse(responseText);
const itemObj = JSON.parse(stringItem);
const isvalid = itemObj.result.isvalid;
console.log(isvalid);

注意:在像这样进行测试时,您必须使用String.raw以便将单个反斜杠解释为文字反斜杠而不是不必要的转义字符


推荐阅读