JSON零值问题

时间:2013-02-05 14:12:49

标签: iphone json

我正在使用JSON Web服务。首先,我将值保存在服务器上然后获取相同的值。当我点击API或网址时,我在插入值期间留空的字段显示0值。并且它在数组中显示在控制台中,但没有显示在标签,按钮等上。它正在查找错误[NSDecimalNumber length]。我想知道这里有什么问题,以及那些在插入过程中留空的标签返回的内容。以及如何检测标记具有零值或空值。以及如何处理它们。

这里我发布了JSON

{
   "messageshow":[
      {
         "message_id":"502",
         "message":"http://flut.psites.info/api/messages/voice/1360100571.caff",
         "message_pic":"",
         "uid":"44",
         "created":"14 second ago",
         "username":"pari",
         "first_name":"pp",
         "last_name":"pp",
         "profile_pic":"http://flut.p-sites.info/api/uploads/13599968121.jpg",
         "tag_user":{
            "tags":[
               {
                  "message":"false"
               }
            ]
         },
         "boos_list":{
            "booslist":[
               {
                  "message":"false"
               }
            ]
         },
         "aplouds_list":{
            "aploudslist":[
               {
                  "message":"false"
               }
            ]
         },
         "total_comments":0,
         "total_boos":0,
         "total_applouds":0
      },
      {
         "message_id":"501",
         "message":"http://flut.psites.info/api/messages/voice/1360100045.caff",
         "message_pic":"",
         "uid":"44",
         "created":"9 minutes ago",
         "username":"pari",
         "first_name":"pp",
         "last_name":"pp",
         "profile_pic":"http://flut.psites.info/api/uploads/13599968121.jpg",
         "tag_user":{
            "tags":[
               {
                  "message":"false"
               }
            ]
         },
         "boos_list":{
            "booslist":[
               {
                  "message":"false"
               }
            ]
         },
         "aplouds_list":{
            "aploudslist":[
               {
                  "message":"false"
               }
            ]
         },
         "total_comments":0,
         "total_boos":0,
         "total_applouds":0
      },
      {
         "message_id":"500",
         "message":"http://flut.p.info/api/messages/voice/1360099970.caff",
         "message_pic":"",
         "uid":"44",
         "created":"10 minutes ago",
         "username":"pari",
         "first_name":"pp",
         "last_name":"pp",
         "profile_pic":"http://flutpsites.info/api/uploads/13599968121.jpg",
         "tag_user":{
            "tags":[
               {
                  "message":"false"
               }
            ]
         },
         "boos_list":{
            "booslist":[
               {
                  "message":"false"
               }
            ]
         },
         "aplouds_list":{
            "aploudslist":[
               {
                  "message":"false"
               }
            ]
         },
         "total_comments":0,
         "total_boos":0,
         "total_applouds":0
      }
   ]
}

1 个答案:

答案 0 :(得分:0)

首先:你用什么来解析收到的JSON数据? NSJSONSerializationJSONKit,...?

第二:我猜你试图从解析的JSON数据中调用-length的值。但是因为该值为空(0)所以它被解析为NSNumber而不是字符串。 NSNumber未实施-length方法且您的应用崩溃。

您应该在JSON中为空字符串值返回null或空字符串,而不仅仅是0

P.S。:不要使用NSDecimalNumber,而是使用NSNumberNSDecimalNumber用于执行计算而不是包装整数。