JSON语法:添加rel属性?

时间:2011-05-09 17:11:40

标签: json

如何将属性rel = blah添加到JSON字符串?我在JSON文件中有以下内容:

[
    {"image":"/images/image1.png", "link":"http://mylink.com"},
    {"image":"/images/image2.png", "link":"http://mylink.com"},
    {"image":"/images/image3.png", "link":"http://mylink.com"}
]

输出会在页面上创建我想要的图像和链接。但我试图添加如下的rel属性:

{"image":"/images/image3.png", "link":{"rel":"blah","href":"http://mylink.com"}}
{"image":"/images/image3.png", "link":{"rel":"blah","uri":"http://mylink.com"}}

但输出总是一样:<a href="object Object">看起来像一个简单的东西,但我似乎无法在任何地方找到正确的语法。

生成图像/链接的图像滑块javascript的一部分是:

 setImage: function(index) {
        this.element.empty();
        var anchor = new Element('a', {
            'href': this.imageList[index].link
        });
        this.images[index].inject(anchor);
        anchor.inject(this.element);
        this.oldIndex = index;
    },

2 个答案:

答案 0 :(得分:1)

这是一个关于Javascript的问题,而不是JSON。您必须为新的对象结构重写为生成HTML输出的函数。现在我不知道你在那里工作了什么,但是根据你发布的功能,我猜你需要改变什么:

setImage: function(index) {
    this.element.empty();
    var anchor = new Element('a', {
         // here it comes:
         'href': this.imageList[index].link.href,
         'rel': this.imageList[index].link.rel
         // that's it
    });
    this.images[index].inject(anchor);
    anchor.inject(this.element);
    this.oldIndex = index;
},

答案 1 :(得分:0)

从我可以收集的内容来看,无论处理您的JSON的代码如何都在执行以下操作:

  1. 创建锚标记
  2. 创建图片代码
  3. 将图像标记的src属性设置为JSON对象中的image值。
  4. 将锚标记的href属性设置为JSON对象中的link值。
  5. 但是,使用更新的代码,这将无法正常工作。您需要执行以下操作:

    1. 创建并锚定标记。
    2. 创建图片代码。
    3. 将图像标记的src属性设置为JSON对象中的image值。
    4. 将锚标记的href属性设置为JSON对象中的link.href值。
    5. 将锚标记的rel属性设置为JSON对象中的link.rel值。
    6. 或者,您可以按如下方式修改原始JSON:

      {"image":"/images/image1.png", "link":"http://mylink.com", "rel":"blah"}
      

      然后,您要实现的算法如下:

      1. 创建并锚定标记。
      2. 创建图片代码。
      3. 将图像标记的src属性设置为JSON对象中的image值。
      4. 将锚标记的href属性设置为JSON对象中的link值。
      5. 将锚标记的rel属性设置为JSON对象中的rel值。