내 WordPress 블로그에서 JSON 피드를 구문 분석하려고합니다. 사용하려는 사용자 정의 필드가 있지만 SBJson과 작동하도록 설정할 수는 없습니다. 내 피드가 어떻게 보이는지 (다른 쓸모없는 것들은 제거했습니다) :iOS SBJson 요청이 잘못되었습니다.
{
"status":"ok",
"count":27,
"count_total":2552,
"pages":95,
"posts":[
{
"id":8978,
"type":"post",
"custom_fields":{
"btnNameScrollBlog":[
"<null>"
]
"author-name":[
"John Doe"
]
},
}
저자명을 얻으려고합니다. 여기에 내가 iOS에서 피드를 얻기 위해 사용되는 코드는 다음과 같습니다
-(void)downloadRecentPostJson{
[recentPost removeAllObjects];
[previous_total_per_page removeAllObjects];
NSURL *urls = [NSURL URLWithString:[NSString stringWithFormat:@"%@/?json=%@",url,methodJson]];
NSData *sa = [NSData dataWithContentsOfURL:urls];
NSString *jsonString = [[NSString alloc] initWithData:sa encoding:NSUTF8StringEncoding];
NSDictionary *result = [jsonString JSONValue];
NSArray* posts = [result objectForKey:@"posts"];
total_page = [[result objectForKey:@"pages"] intValue];
total_post_per_page = [[result objectForKey:@"count"] intValue];
[previous_total_per_page addObject:[result objectForKey:@"count"]];
current_page = 1;
for (NSDictionary *post in posts) {
id custom = [post objectForKey:@"custom_fields"];
id thumbnail = [post objectForKey:@"thumbnail"];
NSString *featuredImage = @"";
if (thumbnail != [NSNull null])
{
featuredImage = (NSString *)thumbnail;
}
else
{
featuredImage = @"0";
}
[recentPost addObject:[NSArray arrayWithObjects:[post objectForKey:@"id"],[post objectForKey:@"title_plain"],[post objectForKey:@"excerpt"],featuredImage,[post objectForKey:@"content"],[post objectForKey:@"date"],[post objectForKey:@"comments"],[post objectForKey:@"comment_status"],[post objectForKey:@"scrollBlogTemplate"],[post objectForKey:@"url"],[post objectForKey:@"specialBtn"],[post objectForKey:@"btnNameScrollBlog"],[post objectForKey:@"latScrollBlog"],[post objectForKey:@"longScrollBlog"],[post objectForKey:@"openWebUrlScrollBlog"],[post objectForKey:@"gallery"], [custom objectForKey:@"author-name"], nil]];
}
내가 custom_fields이 ID로 개체를 설정하려고 : ID 사용자 정의 = [포스트 objectForKey : @ "custom_fields"]; 저자의 이름을 얻기 위해 그것을 사용
그리고 : [사용자 정의 objectForKey : "저자 이름"@]
하지만 '이유 :'는 NSInvalidArgumentException 얻을 - [__ NSArrayM rangeOfString :] : 인식 할 수없는 선택 오류 .
제안 사항
게시물에서 카테고리 제목을 가져 오려면 어떻게해야합니까?
"categories": [
{
"id": 360,
"slug": "deals",
"title": "Deals",
"description": "",
"parent": 0,
"post_count": 28
}
],
범주를 다음과 같은 배열로 배치합니까? 그 제목을 어떻게 얻을 수 있습니까? 나는 이것을 시도하고 인덱스 3에서 객체를 얻었지만 오류가 발생했습니다.
NSArray *cat = [post objectForKey:@"categories"];
오류 메시지가 "저자 이름"는있는 NSArray이지만이있는 NSString 것처럼 코드를 치료하는 것을 의미한다. – Anna
Json의 형식이 올바르지 않습니다. http://jsonlint.com/을 사용해보십시오. – Hakim