NSJSONSerialization을 사용하여 json에서 이미지 역 직렬화

PSsam

NSJsonSerialization을 사용하여 서버에서 오는 JSON을 역 직렬화하려고합니다. 서버는 문자열로 변환 된 png 이미지를 반환합니다. 내 코드는 다음과 같습니다.

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
        NSError *deserializationError;
        id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:&deserializationError];
        if (deserializationError) {
            NSLog(@"JSON deserialization error: %@", deserializationError.localizedDescription);
            return;
        }
} ];

다음은 서버에서받은 내용입니다.

{"photo":"�PNG\r\n\u001A\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000:\u0000\u0000\u0000:\b\u0002\u0000\u0000\u0000n��\u007F\u0000\u0000\u001FrIDATx�}z\u0005W[y��|��..."}

하지만 JSON 구문 분석 오류가 있습니다. "JSON deserialization 오류 : 작업을 완료 할 수 없습니다. (Cocoa 오류 3840.)". 문제는 JSON 형식에 있다고 생각합니다. 그러나 서버 측을 작성하는 사람들은이 객체를 성공적으로 역 직렬화 할 수 있다고 말합니다. 이 JSON을 처리하는 방법에 대한 제안이 있습니까?

아마르

내가 아는 한 JSON 응답은 문자열이어야합니다. 얻는 이미지는 JSON 구문 분석을 중단하는 이미지 데이터처럼 보입니다 NSPropertyListErrorMinimum( Cocoa error domain : 3840 ). 서버 측 JSON은 base64 문자열로 인코딩 된 이미지를 보내야합니다. 이것은 클라이언트 측에서 유효한 JSON을 유지합니다 ..

base64로 인코딩 된 이미지를 디코딩하여 클라이언트 측에서 이미지 데이터를 가져올 수 있습니다. NSData범주사용 하면 base64 문자열을 NSData.

NSData *imageData = [NSData dataWithBase64EncodedString:base64JSONString];
// Create image with data
UIImage *image = [[UIImage alloc] initWithData:imageData];

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

잭슨를 사용하여지도에 JSON을 역 직렬화하기

분류에서Dev

속성 이름에 $를 사용하여 JSON 역 직렬화

분류에서Dev

Entity Framework Core C #을 사용하여 JSON 역 직렬화

분류에서Dev

Newtonsoft.Json을 사용하여 이름을 값으로 역 직렬화

분류에서Dev

자바 객체에 datetime을 사용하여 JSON 역 직렬화

분류에서Dev

Gson을 사용하여 Json에서 Map 역 직렬화

분류에서Dev

Gson을 사용하여 매핑 할 json 배열 역 직렬화

분류에서Dev

컨테이너없이 JSON.NET을 사용하여 개체 역 직렬화

분류에서Dev

COM을 사용하여 PHP에서 .Net 개체 역 직렬화

분류에서Dev

C #을 사용하여 클래스로 JSON 역 직렬화

분류에서Dev

작동하지 않는 Gson을 사용하여 json 역 직렬화

분류에서Dev

Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

분류에서Dev

일리노이 에디슨을 사용하여 직렬화 / 역 직렬화하는 방법

분류에서Dev

DataContractJsonSerializerOperationFormatter는 JSON.NET을 사용하여 역 직렬화하지 않습니다.

분류에서Dev

Jackson을 사용한 사용자 지정 JSON 직렬화 / 역 직렬화

분류에서Dev

C ++에서 MessagePack을 사용하여 이기종 맵 역 직렬화

분류에서Dev

JSON.net을 사용하여 대량의 json 데이터 역 직렬화

분류에서Dev

JSON.net을 사용하여 대량의 json 데이터 역 직렬화

분류에서Dev

Jackson을 사용하여 임의의 JSON 역 직렬화

분류에서Dev

C #에서 Newtonsoft Json.NET을 사용하여 JSON 역 직렬화

분류에서Dev

Android : Retrofit 및 Jackson을 사용하여 동적 JSON 역 직렬화

분류에서Dev

JSON.net을 사용하여 동적으로 역 직렬화

분류에서Dev

C #을 사용하여 JSON 역 직렬화

분류에서Dev

C #을 사용하여 Wikipedia API에서 JSON 역 직렬화

분류에서Dev

마시멜로 파이썬을 사용하여 모델에서 json 모델을 역 직렬화합니다.

분류에서Dev

Gson을 사용하여 JSON을 HashMAp <String, POJO>로 역 직렬화하지 못함

분류에서Dev

Newtosoft Json을 사용하여 Json을 null로 역 직렬화

분류에서Dev

Json.NET을 사용하여 Json String에서 중첩 된 DataSet 역 직렬화

분류에서Dev

JSON.NET을 사용하여 dictionary <string, object> 역 직렬화 및 직렬화

Related 관련 기사

  1. 1

    잭슨를 사용하여지도에 JSON을 역 직렬화하기

  2. 2

    속성 이름에 $를 사용하여 JSON 역 직렬화

  3. 3

    Entity Framework Core C #을 사용하여 JSON 역 직렬화

  4. 4

    Newtonsoft.Json을 사용하여 이름을 값으로 역 직렬화

  5. 5

    자바 객체에 datetime을 사용하여 JSON 역 직렬화

  6. 6

    Gson을 사용하여 Json에서 Map 역 직렬화

  7. 7

    Gson을 사용하여 매핑 할 json 배열 역 직렬화

  8. 8

    컨테이너없이 JSON.NET을 사용하여 개체 역 직렬화

  9. 9

    COM을 사용하여 PHP에서 .Net 개체 역 직렬화

  10. 10

    C #을 사용하여 클래스로 JSON 역 직렬화

  11. 11

    작동하지 않는 Gson을 사용하여 json 역 직렬화

  12. 12

    Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

  13. 13

    일리노이 에디슨을 사용하여 직렬화 / 역 직렬화하는 방법

  14. 14

    DataContractJsonSerializerOperationFormatter는 JSON.NET을 사용하여 역 직렬화하지 않습니다.

  15. 15

    Jackson을 사용한 사용자 지정 JSON 직렬화 / 역 직렬화

  16. 16

    C ++에서 MessagePack을 사용하여 이기종 맵 역 직렬화

  17. 17

    JSON.net을 사용하여 대량의 json 데이터 역 직렬화

  18. 18

    JSON.net을 사용하여 대량의 json 데이터 역 직렬화

  19. 19

    Jackson을 사용하여 임의의 JSON 역 직렬화

  20. 20

    C #에서 Newtonsoft Json.NET을 사용하여 JSON 역 직렬화

  21. 21

    Android : Retrofit 및 Jackson을 사용하여 동적 JSON 역 직렬화

  22. 22

    JSON.net을 사용하여 동적으로 역 직렬화

  23. 23

    C #을 사용하여 JSON 역 직렬화

  24. 24

    C #을 사용하여 Wikipedia API에서 JSON 역 직렬화

  25. 25

    마시멜로 파이썬을 사용하여 모델에서 json 모델을 역 직렬화합니다.

  26. 26

    Gson을 사용하여 JSON을 HashMAp <String, POJO>로 역 직렬화하지 못함

  27. 27

    Newtosoft Json을 사용하여 Json을 null로 역 직렬화

  28. 28

    Json.NET을 사용하여 Json String에서 중첩 된 DataSet 역 직렬화

  29. 29

    JSON.NET을 사용하여 dictionary <string, object> 역 직렬화 및 직렬화

뜨겁다태그

보관