0

JSON Web サービスを使用しています。最初にサーバーに値を保存してから、同じものを取得しています。値の挿入中に空のままにしているフィールドに、API または URL にアクセスしたときに 0 の値が表示されます。そして、コンソールに表示される配列でフェッチしていますが、ラベル、ボタンなどには表示されません。エラーで殺されています[NSDecimalNumber length]。ここで何が問題なのか、挿入中に空のままになっているタグが何を返すのかを知りたいです。また、タグの値がゼロまたは null であることを検出する方法。そして、それらに対処する方法。

ここで私は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
      }
   ]
}
4

1 に答える 1

0

最初: 受信した JSON データを解析するために何を使用していますか? NSJSONSerializationJSONKit、 ...?

-length2 番目:解析された JSON データから値を呼び出そうとしていると思います。しかし、その値は空 (0) であるためNSNumber、文字列ではなく に解析されます。NSNumberメソッドを実装せず-length、アプリがクラッシュします。

だけでなく、空の文字列値については、JSON で null または空の文字列を返す必要があります0

PS: を使用しないNSDecimalNumberでくださいNSNumberNSDecimalNumber計算を実行するためのものであり、整数をラップするためのものではありません。

于 2013-02-05T15:34:17.863 に答える