2012-09-25 2 views
4

FMDB를 사용하여 제 서버에서 json-data를로드합니다. 내가받는 응답 (JSON)은 sqlite-database (아래의 응답과 동일한 문자열)에 저장됩니다. 나중에 나는 그 데이터를 FMDB를 통해 데이터베이스에서 선택하고 그것으로부터 NSDictionary를 만들려고 시도하지만 작동시키지 못한다.FMDB, sqlite json-string 사전에?

{ 
response = { 
    data = { 
     "dbId_1" = { 
      1 = { 
       current = { 
        weekday = Tuesday; 
       }; 
      }; 
     }; 
    }; 
}; 
} 

이것은 :

내가 서버에서 얻는 JSON 응답 때 나는 그것을 출력 NSLog를 통해 (이 좀 더 들어 있습니다 ... 그래서,이 게시물에 대한 응답을 단축) 다음과 같은 어떻게하면 데이터베이스에서 선택하고 난에서있는 NSDictionary를 만들기 위해 무엇을 원하는 : 그것은 NSDictionary에 다시 모든 것을 구축하는 것이 가능

NSString *jsonString = [results stringForColumn:@"json"]; 

?

답변

1

다음 이동 프로젝트, # import를 "JSONKit.h"에 JSONKit을 추가

NSDictionary *jsonDict = [yourJSONStringFromDB objectFromJSONString]; 

당신이 당신은 페이즈를 구축> 프로젝트 설정을 열어야합니다, 자동 참조 카운팅을 사용하는 경우 > 컴파일 된 소스 패널

"JSONKit.m"라인을 찾아 두 번 클릭하고 "-fno-objc-arc"를 추가하여이 파일에 대한 자동 참조 계산을 강제 실행하지 않습니다.

JSONKit 여기에서 다운로드 할 수 있습니다 https://github.com/johnezang/JSONKit

+0

이것을 사용하는 경우에도 내 사전에 "null"이 표시됩니다. NSString * jsonString = [결과 stringForColumn : @ "json"]; NSDictionary * dict = [jsonString objectFromJSONString]; NSLog (@ "DICT : % @", dict); – nickelman

+0

죄송합니다, 제 잘못, 잘 됐습니다 :) – nickelman

+0

빠른 읽기를 위해 JSONKit의 NSData 멤버를 사용하십시오 :'[blob objectFromJSONData];' – Ralphleon

0

제 생각에는 전체 사전을 만들어야합니다.

SQLite 데이터베이스에 저장된 데이터에서 "키"및 "값"쌍을 사전에 저장해야합니다.

필자는 언젠가 비슷한 코딩 구조를 사용했고, 배열을 사용했습니다.

나는이 도움이되기를 바랍니다.

+0

흠, 좋아. 나는이 일을하는 훨씬 쉬운 방법이 있기를 바랐다. ... – nickelman

+0

나는이 방법으로 행운을 빕니다. –

+0

Zhang이 말한 것과 같이 매우 효과적이었습니다. 어쨌든 감사합니다! – nickelman