无法获得 Json-String 的 属性

Cannot get a property of a Json-String

我从 table-API 得到一个 Json-字符串:

JS

var data = JSON.stringify($table.bootstrapTable('getSelections'));
console.log(data);

Output:

[{"name":"Chemical Entity Recogniser (ChER)","state":true}]

现在我想得到"name"的值。我该怎么做呢?

尝试使用:

var o = JSON.parse(data)

JSON.parse() 将 JSON 对象转换为 Javascript 对象...

您可以直接使用 $table.bootstrapTable('getSelections')[0].name 来获取名称值

或者如果您仍想使用 stringify,将其转换为 JSON 字符串并从中获取名称值,您可以这样做:

var data = JSON.stringify($table.bootstrapTable('getSelections'));
var obj = JSON.parse(data);
console.log(obj[0].name);

输出: 化学实体识别器 (ChER)

希望对您有所帮助!

的结果
$table.bootstrapTable('getSelections')

只是一个普通的旧 JavaScript 对象。这不是 JSON。无需对其进行字符串化。字符串化用于将对象转换为字符串,以便将其存储或发送到某处。那不是你想做的。只需直接从 JavaScript 对象访问您想要的值:

var data = $table.bootstrapTable('getSelections');
data[0].name

如果您在执行过程中不必要地将此响应字符串化,那么您将不得不转身并再次解析它,正如您的 "accepted" 答案错误建议的那样,这只会给出您首先支持您开始使用的对象。