jQuery访问JSON元素

时间:2013-01-20 10:10:06

标签: jquery json

我有这个JSON字符串:

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

从textarea中挑选JSON字符串,然后将其存储在变量'content'

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

我正在尝试访问这些元素:

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

但是我收到了错误:

  

TypeError:content.image未定义。

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

我在这里做错了什么?

更新

$。parseJSON完成了这项工作:

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

2 个答案:

答案 0 :(得分:5)

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

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

或者,JSON.parse()中有一个原生JavaScript函数most browsers来执行此操作:

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

答案 1 :(得分:3)

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

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

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

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

content.image[0]['alt']