为什么围绕这个JSON字符串有一个额外的括号?

时间:2013-04-01 16:21:31

标签: ruby-on-rails ruby json

我正在尝试生成JSON以供我的智能手机应用程序读取,但是我很困惑为什么我在JSON结构上有一个外部“[]”。这是我的JSON:

[{"article":{"title":"First"}},{"article":{"title":"Ontario"}}]

这是我的文章索引的代表。有没有办法删除[],因为根据我的理解,它们不是正确的JSON。

以下是我如何制作它:

respond_with :json
def index
  @articles= Article.all
  respond_with @articles.as_json(:root => true, :only => [:title])
end

3 个答案:

答案 0 :(得分:3)

这是合适的JSON。它用于表示数组 - 在本例中是一个文章数组。您可能希望将其保留为您的Web服务。

答案 1 :(得分:2)

外面的[]只是创建一个数组。您正在序列化多篇文章,因此这是将它们作为列表输出的最自然方式。

答案 2 :(得分:1)

这是一个JSON数组 -

http://www.json.org/javadoc/org/json/JSONArray.html

JSONArray是一个有序的值序列。它的外部文本形式是一个用方括号括起来的字符串,用逗号分隔值。内部表单是一个对象,具有通过索引访问值的get和opt方法,并添加用于添加或替换值的方法。值可以是以下任何类型:Boolean,JSONArray,JSONObject,Number,String或JSONObject.NULL对象。

构造函数可以将JSON文本转换为Java对象。 toString方法转换为JSON文本。