????С????????????з???“JSON”?????????????????????????????????±?????????BUG???????????????????????????iOS????????y???JSON??????????????????????????????
????JSON?????????
????JSON?????????JSON?????javascript?е??????????????????????????????????????????????????????????????????
????1??????????JSON?б???“{}”???????????????????{key??value??key??value??...}?????????????????????????У?key???????????value????????????????????????????????????[key]????????????????????????????????????????????顢??伸???
????2?????飺??????JSON?б???“[]”???????????????????["java"??"javascript"??"vb"??...]??????????????????????????????????????????????????????????????????顢??伸???
????{
????"people":[
????{"firstName":"A"??"lastName":"AA"??"email":"aa@aa"}??
????{"firstName":"B"??"lastName":"BB"??"email":"bb@bb"}??
????{"firstName":"C"??"lastName":"CC"??"email":"cc@cc"}
????]
????}
????????JSON??????????
??????iOS?????????NSJSONSerialization???JSONObjectWithData????????????д??
????????????ж?data???????
????if(data)
????{
????return[selfJSONObjectWithData:dataoptions:opterror:errorremovingNulls:YESignoreArrays:NO];
????}
????returnnil;
?????????data???н????????id????????JSON???????????????????NSArray???????NSDictionary
????+(id)JSONObjectWithData:(NSData*)dataoptions:(NSJSONReadingOptions)opterror:(NSError*__autoreleasing*)errorignoreArrays:(BOOL)ignoreArrays
????{
????//?????data???????
????//Mutablecontainersarerequiredtoremovenulls.
????idJSONObject=[selfJSONObjectWithData:dataoptions:opterror:error];//????????????????error
????if(error&&*error)//?ж?error???????error????????nil
????{
????returnJSONObject;
????}
????if(![JSONObjectisKindOfClass:[NSArrayclass]]&&![JSONObjectisKindOfClass:[NSDictionaryclass]]){
????returnJSONObject;
????}
????[JSONObjectrecursivelyRemoveNullsIgnoringArrays:ignoreArrays];//???й?????????Щ???????????” ?? ?? ”
????returnJSONObject;
????}
????????????????
?????????JSONObject??????????JSON????????????????????????“data”?????????????????dit??
????NSDictionary*dit=dcit[@"data"];
?????????????“rows”?????rows???顣
????NSArray*rows=dit[@"rows"];
??????????????????????????????
????????????????
????1.??????????????????????????????????????????????data=NULL???????????????????
????2.?????????в???????????????????????????????????????json???????????н???????{“????”????}???????????????
????3.????в??????????“???????????????顢???”????????????????署?????????????????????????????飬??????????????
????4.???????????????????????????????????“??????????????0?”??“??????????????”???