1

我有这个 JSON 字符串:

{"image":[
    {"img":"_files\/image\/images\/firstimage.jpg","alt":"firstimage alt text"},
    {"img":"secondimage.jpg","alt":"secondimage alt text"}
]} 

JSON 字符串是从文本区域中挑选出来的,然后存储在变量“内容”中

var content = $("textarea").val();

我正在尝试访问元素:

alert(content["image"][0]["img"]);

但我得到错误:

类型错误:content.image 未定义。

最终我想通过更改和添加元素来操作 JSON 字符串。

我在这里做错了什么?

更新

$.parseJSON 完成了这项工作:

var content = $.parseJSON($("textarea").val());
4

2 回答 2

5

如果您从 textarea 中选择 JSON字符串,则必须先将其转换为 JavaScript 对象,然后才能使用它。使用,例如$.parseJSON()

var content = $.parseJSON( $("textarea").val() );

或者,大多数浏览器JSON.parse()中都有一个原生 JavaScript 函数来执行此操作:

var content = JSON.parse( $("textarea").val() );
于 2013-01-20T10:16:17.297 回答
3

它不会直接解析为 JSON,而是您需要先做

var content = JSON.parse($("textarea").val());

这应该允许您使用一般的 JSON 操作

您的 JSON 检索示例可能是这样的

content.image[0]['alt']
于 2013-01-20T10:18:49.893 回答