我的JSON结构有什么问题?

时间:2011-06-06 18:07:34

标签: json

{"Street":
    [
        {
            "Street_name":"Dewlane Dr",
            "Street_numbers":
                [
                    {
                        "number":26,
                        "Unit_number":""
                    }
                ]
         }
    ]
}

但是我在iPhone上通过SBJSON解析它时会出现此错误。

Error Domain=org.brautaset.JSON.ErrorDomain Code=3 \"Object value expected for key: Street\" UserInfo=0x595fd60 {NSUnderlyingError=0x593cfc0 

1 个答案:

答案 0 :(得分:1)

“Unit_number”之后还有一个额外的结束语。啊,这只是一个复制粘贴错误。

据我所知,根据jsonlint.com,它没有任何问题。

只是为了分解它:你的结构有一个最外面的对象,它有一个Street属性。 Street属性的值是一个包含一个条目的数组。该条目是具有属性Street_name的对象,其具有字符串值,Street_numbers具有数组值。 Street_numbers数组中的一个条目是一个包含两个属性numberUnit_number的对象。


更新:我从未解决过SBJSON错误。

如果您从SBJSON收到该错误,则会显示以下内容之一:

  1. 你所加入SBJSON的不是你所引用的(这是一个很容易犯的错误)。例如,在"Street":之后,你所喂食的东西可能会以某种方式被截断。
  2. 在您将其粘贴到StackOverflow中时,"Street": 看起来像空格后有一个字符,但不是空格通常的定义,所以SBJSON认为这是一个应该被处理的字符并且正在窒息。
  3. SBJSON中有一个与冒号后面的行相关的错误(似乎不太可能)。
  4. SBJSON有一个与您在该位置的精确空白相关的错误。 Unicode中有许多不同的空白字符,如果你(可能是无意中)使用了一个不常见的字符,SBJSON可能无法正确处理它。
  5. 但是,如果您发布的内容看起来像空格完全由回车符,空格,制表符,换行符和其他经典空格组成,并且如果您传递给SBJSON的反序列化程序的字符串是您发布的内容,这是SBJSON的一个问题。