iOS 개발 에서 JSON 의 boolean 형식의 데 이 터 를 분석 하 는 데 발생 하 는 문제점 을 상세히 설명 합 니 다.

1754 단어 iosjsonboolean
질문 설명:
Xcode 에서 인쇄 된 JSON 데이터:

{
 content =  {
  createTime = 1462512975497;
  expiryDate = 1475137813;
  id = 204;
  intervalSeconds = 0;
  lastHgt = "63.689";
  lastLat = "39.9621096";
  lastLng = "116.3175201";
  lastTime = 1462848844;
manage = 1;
  nickName = "6ZOD6ZObNzM=";
share = 0;
  tname = 3233470E36343434FF726D73;
 };
 state = success;
}
웹 페이지 에서 되 돌려 달라 고 요청 한 JSON 데이터:

{
"content":{
"id":203,
"createTime":1462755844018,
"share":false,
"lastHgt":63.689,
"intervalSeconds":0,
"nickName":"6ZOD6ZObNzM=",
"expiryDate":"1475137813",
"tname":"3233470E36343434FF726D73",
"lastTime":1462848844,
"lastLng":116.3175201,
"manage":true,"lastLat":39.9621096},
"state":"success"
}
분명히 여기 manage 필드 와 share 필드 는 boolean 형식의 데이터 입 니 다.단,이 두 필드 의 데 이 터 를 BOOL 클래스 로 받 습 니 다.

NSDictionary *content = [obj objectForKey:@"content"];
BOOL manage = [content objectForKey:@"manage"];
BOOL share = [content objectForKey:@"share"];
얻 은 결 과 는 모두 YES 이 며,실제 share 필드 의 값 은 NO 여야 합 니 다.
해결 방법:

BOOL manage = [[content objectForKey:@"manage"] boolValue];
BOOL share = [[content objectForKey:@"share"] boolValue];
이렇게 처리 한 후에 얻 은 manage 의 값 은 YES 이 고 share 의 값 은 NO 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기