objective c - Base64 string encoded with NSJSONSerialization is backslash escaped -
i'm trying send image server using json. data still correct until set dictionary encode nsjsonserialization: function use:
- (nsdata*) gethttpbody { if ([nsjsonserialization isvalidjsonobject:jsonmessage]) { nserror * error = nil; nsdata * jsondata = [nsjsonserialization datawithjsonobject:jsonmessage options:0 error:&error]; nsstring *jsonstring = [[nsstring alloc] initwithdata:jsondata encoding:nsutf8stringencoding]; return jsondata; } return nil; }
with following input:
printing description of self->jsonmessage: { function = addattachment; variables = { attachment = { enddate = 1377475200000; file = "/9j/4aaqskzjrgabaqaaaqabaad/4qbyrxhpzgaatu0akgaaaagaagesaamaaaabaaeaaidpaaqaaaabaaaajgaaaaaaa6abaamaaaabaaeaakacaaqaaaabaaaaekadaaqaaaabaaaaeaaaaad/2wbdaaebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh/2wbdaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh/waarcaaqabadareaahebaxeb/8qahwaaaqubaqebaqeaaaaaaaaaaaecawqfbgcicqol/8qatraaagedawieawufbaqaaaf9aqidaaqrbrihmuege1fhbyjxfdkbkaeii0kxwrvs0fakm2jyggkkfhcygroljicokso0nty3odk6q0rfrkdisuptvfvwv1hzwmnkzwznaglqc3r1dnd4exqdhiwgh4ijipktljwwl5izmqkjpkwmp6ipqrkztlw2t7i5usldxmxgx8jjytlt1nxw19jz2uhi4+tl5ufo6erx8vp09fb3+pn6/8qahweaawebaqebaqebaqaaaaaaaaecawqfbgcicqol/8qatreaagecbaqdbacfbaqaaqj3aaecaxeebsexbhjbuqdhcrmimoeifekrobhbcsmzuvavynlrchyknoel8rcygromjygpkju2nzg5okneruzhselku1rvvldywvpjzgvmz2hpann0dxz3ehl6gooehyahiimkkpoulzaxmjmaoqokpaanqkmqsro0tba3ulm6wspexcbhymnk0tpu1dbx2nna4upk5ebn6onq8vp09fb3+pn6/9oadambaairaxeapwd+gb9oh9pvrf29nb+jx7pnwq+lhj74bfb/wxdpchirxz8pv2fvih8d7v4txepxepw0+irf8mva48lealq6fg3oq7v+ispktv8a8u7zsnv/6v4c4qxxgxhsj4wz/hza53nuzvkjwmwy7omplkyinglvntr8yxokmnd2nlg9fscats551/8apljfxoyb6sgi4h8pugulstw1wvlsmo8xmfhj8rmbzdvjrnfsp2hpduqm01btrnkk5q7iqfufbf43qf8abo3/aiud8g/i/wdgdxpih8efjfy+i7jwd408v/dhxp8acfxl8g38p3+h2s6l4n8n+mtuvfe3/ch31xrqmz1iz0w88foksvz3fh6+jfsepihh/eeoeuiejehuhaoqcq5u6txmw4xhlmkebkrtjkm44mmkdfyprulcsjl2rgqvsatgvd0ecen8u+jpdhjg3ipjj8s8h55hfvlcdvy94cpk8qfsbrqwhtnxq06ts91k3jkcpqi9vupjr8eyp+cdv/c8vjj8iphbrnxq+cpxisfdlt4+8f+fpid4m+e/ix4op4fv9cvtrxhjxj4n0u98t/8ach31xrrdjr7zrbzwwiysl5d+hr6rniohuia/jhlh7hrihiojkhegvoqshmwlwmcwp5tgrtlguj4avsfgokuunolll2rg6toctknbcbcezd9genxpxlw5wa+jed88jhfmwbpzg8buyewhqrvfxxmoyr1adwrong3jjqm5oydxlv2fv2zdf/bz1v4bftb/fx4t+pvht8h/aaxdqs/hxwn8qf2gfih8d7v4txwo3em3mgtgx4nm1x4w8awh0/ittj2r8q0ejpx/wjtlenx7oi+l8v4mybpod8g4iwod57mnsmsxmecyfd5qsovgktbwoc6xgkmnp2fnk9hmuqqsuivvo4i8mcm+kfx4f8qujeemtw3wvlsmssjl1fok+zvn1vlkeuwpem8nsozsclb35jqlu5on/9k="; filename = "photo.jpg"; label = "bhhhb "; startdate = 1377475200000; }; }; }
which seems correct. in fact, i've tested base64 string , converted on online decoder, works flawless.
anyway, json nsdata object generated. testing purposes i'm converting nsstring. result:
printing description of jsonstring: {"variables": {"attachment": {"enddate":1377475200000, "filename":"photo.jpg", "label":"bhhhb ", "file":"\/9j\/4aaqskzjrgabaqaaaqabaad\/4qbyrxhpzgaatu0akgaaaagaagesaamaaaabaaeaaidpaaqaaaabaaaajgaaaaaaa6abaamaaaabaaeaakacaaqaaaabaaaaekadaaqaaaabaaaaeaaaaad\/2wbdaaebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh\/2wbdaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh\/waarcaaqabadareaahebaxeb\/8qahwaaaqubaqebaqeaaaaaaaaaaaecawqfbgcicqol\/8qatraaagedawieawufbaqaaaf9aqidaaqrbrihmuege1fhbyjxfdkbkaeii0kxwrvs0fakm2jyggkkfhcygroljicokso0nty3odk6q0rfrkdisuptvfvwv1hzwmnkzwznaglqc3r1dnd4exqdhiwgh4ijipktljwwl5izmqkjpkwmp6ipqrkztlw2t7i5usldxmxgx8jjytlt1nxw19jz2uhi4+tl5ufo6erx8vp09fb3+pn6\/8qahweaawebaqebaqebaqaaaaaaaaecawqfbgcicqol\/8qatreaagecbaqdbacfbaqaaqj3aaecaxeebsexbhjbuqdhcrmimoeifekrobhbcsmzuvavynlrchyknoel8rcygromjygpkju2nzg5okneruzhselku1rvvldywvpjzgvmz2hpann0dxz3ehl6gooehyahiimkkpoulzaxmjmaoqokpaanqkmqsro0tba3ulm6wspexcbhymnk0tpu1dbx2nna4upk5ebn6onq8vp09fb3+pn6\/9oadambaairaxeapwd+gb9oh9pvrf29nb+jx7pnwq+lhj74bfb\/wxdpchirxz8pv2fvih8d7v4txepxepw0+irf8mva48lealq6fg3oq7v+ispktv8a8u7zsnv\/6v4c4qxxgxhsj4wz\/hza53nuzvkjwmwy7omplkyinglvntr8yxokmnd2nlg9fscats551\/8apljfxoyb6sgi4h8pugulstw1wvlsmo8xmfhj8rmbzdvjrnfsp2hpduqm01btrnkk5q7iqfufbf43qf8abo3\/aiud8g\/i\/wdgdxpih8efjfy+i7jwd408v\/dhxp8acfxl8g38p3+h2s6l4n8n+mtuvfe3\/ch31xrqmz1iz0w88foksvz3fh6+jfsepihh\/eeoeuiejehuhaoqcq5u6txmw4xhlmkebkrtjkm44mmkdfyprulcsjl2rgqvsatgvd0ecen8u+jpdhjg3ipjj8s8h55hfvlcdvy94cpk8qfsbrqwhtnxq06ts91k3jkcpqi9vupjr8eyp+cdv\/c8vjj8iphbrnxq+cpxisfdlt4+8f+fpid4m+e\/ix4op4fv9cvtrxhjxj4n0u98t\/8ach31xrrdjr7zrbzwwiysl5d+hr6rniohuia\/jhlh7hrihiojkhegvoqshmwlwmcwp5tgrtlguj4avsfgokuunolll2rg6toctknbcbcezd9genxpxlw5wa+jed88jhfmwbpzg8buyewhqrvfxxmoyr1adwrong3jjqm5oydxlv2fv2zdf\/bz1v4bftb\/fx4t+pvht8h\/aaxdqs\/hxwn8qf2gfih8d7v4txwo3em3mgtgx4nm1x4w8awh0\/ittj2r8q0ejpx\/wjtlenx7oi+l8v4mybpod8g4iwod57mnsmsxmecyfd5qsovgktbwoc6xgkmnp2fnk9hmuqqsuivvo4i8mcm+kfx4f8qujeemtw3wvlsmssjl1fok+zvn1vlkeuwpem8nsozsclb35jqlu5on\/9k=", "startdate":1377475200000} }, "function":"addattachment"}
all slashes (/) in original base64 backslash () escaped. therefore data corrupt. there option let jsonserialization know not escape strings?
many in advance.
it seems backend problem.
sent server:
/9j/4aaqskzjrgabaqaaaqabaad/4qbyrxhpzgaatu0akgaaaagaagesaamaaaabaaeaaidpaaqaaaabaaaajgaaaaaaa6abaamaaaabaaeaakacaaqaaaabaaaaekadaaqaaaabaaaaeaaaaad/2wbdaaebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh/2wbdaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh/waarcaaqabadareaahebaxeb/8qahwaaaqubaqebaqeaaaaaaaaaaaecawqfbgcicqol/8qatraaagedawieawufbaqaaaf9aqidaaqrbrihmuege1fhbyjxfdkbkaeii0kxwrvs0fakm2jyggkkfhcygroljicokso0nty3odk6q0rfrkdisuptvfvwv1hzwmnkzwznaglqc3r1dnd4exqdhiwgh4ijipktljwwl5izmqkjpkwmp6ipqrkztlw2t7i5usldxmxgx8jjytlt1nxw19jz2uhi4+tl5ufo6erx8vp09fb3+pn6/8qahweaawebaqebaqebaqaaaaaaaaecawqfbgcicqol/8qatreaagecbaqdbacfbaqaaqj3aaecaxeebsexbhjbuqdhcrmimoeifekrobhbcsmzuvavynlrchyknoel8rcygromjygpkju2nzg5okneruzhselku1rvvldywvpjzgvmz2hpann0dxz3ehl6gooehyahiimkkpoulzaxmjmaoqokpaanqkmqsro0tba3ulm6wspexcbhymnk0tpu1dbx2nna4upk5ebn6onq8vp09fb3+pn6/9oadambaairaxeapwd+gb9oh9pvrf29nb+jx7pnwq+lhj74bfb/wxdpchirxz8pv2fvih8d7v4txepxepw0+irf8mva48lealq6fg3oq7v+ispktv8a8u7zsnv/6v4c4qxxgxhsj4wz/hza53nuzvkjwmwy7omplkyinglvntr8yxokmnd2nlg9fscats551/8apljfxoyb6sgi4h8pugulstw1wvlsmo8xmfhj8rmbzdvjrnfsp2hpduqm01btrnkk5q7iqfufbf43qf8abo3/aiud8g/i/wdgdxpih8efjfy+i7jwd408v/dhxp8acfxl8g38p3+h2s6l4n8n+mtuvfe3/ch31xrqmz1iz0w88foksvz3fh6+jfsepihh/eeoeuiejehuhaoqcq5u6txmw4xhlmkebkrtjkm44mmkdfyprulcsjl2rgqvsatgvd0ecen8u+jpdhjg3ipjj8s8h55hfvlcdvy94cpk8qfsbrqwhtnxq06ts91k3jkcpqi9vupjr8eyp+cdv/c8vjj8iphbrnxq+cpxisfdlt4+8f+fpid4m+e/ix4op4fv9cvtrxhjxj4n0u98t/8ach31xrrdjr7zrbzwwiysl5d+hr6rniohuia/jhlh7hrihiojkhegvoqshmwlwmcwp5tgrtlguj4avsfgokuunolll2rg6toctknbcbcezd9genxpxlw5wa+jed88jhfmwbpzg8buyewhqrvfxxmoyr1adwrong3jjqm5oydxlv2fv2zdf/bz1v4bftb/fx4t+pvht8h/aaxdqs/hxwn8qf2gfih8d7v4txwo3em3mgtgx4nm1x4w8awh0/ittj2r8q0ejpx/wjtlenx7oi+l8v4mybpod8g4iwod57mnsmsxmecyfd5qsovgktbwoc6xgkmnp2fnk9hmuqqsuivvo4i8mcm+kfx4f8qujeemtw3wvlsmssjl1fok+zvn1vlkeuwpem8nsozsclb35jqlu5on/9k=
retrieved:
/9j/4aaqskzjrgabaqaaaqabaad/4qbyrxhpzgaatu0akgaaaagaagesaamaaaabaaeaaidpaaqaaaabaaaajgaaaaaaa6abaamaaaabaaeaakacaaqaaaabaaaaekadaaqaaaabaaaaeaaaaad/2wbdaaebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh/2wbdaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqebaqh/waarcaaqabadareaahebaxeb/8qahwaaaqubaqebaqeaaaaaaaaaaaecawqfbgcicqol/8qatraaagedawieawufbaqaaaf9aqidaaqrbrihmuege1fhbyjxfdi/kaeii0kxwrvs0fakm2jyggkkfhcygroljicokso0nty3odk6q0rfrkdisuptvfvwv1hzwmnkzwznaglqc3r1dnd4exqdhiwgh4ijipktljwwl5izmqkjpkwmp6ipqrkztlw2t7i5usldxmxgx8jjytlt1nxw19jz2uhi4+tl5ufo6erx8vp09fb3+pn6/8qahweaawebaqebaqebaqaaaaaaaaecawqfbgcicqol/8qatreaagecbaqdbacfbaqaaqj3aaecaxeebsexbhjbuqdhcrmimj8ifekrobhbcsmzuvavynlrchyknoel8rcygromjygpkju2nzg5okneruzhselku1rvvldywvpjzgvmz2hpann0dxz3ehl6gooehyahiimkkpoulzaxmjmaoqokpaanqkmqsro0tba3ulm6wspexcbhymnk0tpu1dbx2nna4upk5ebn6onq8vp09fb3+pn6/9oadambaairaxeapwd+p79oh9pvrf29nb+jx7pnwq+lhj74bfb/wxdpchirxz8pv2fvih8d7v4txepxepw0+irf8mva48lealq6fg3oq7v+ispktv8a8u7zsnv/6v4c4qxxgxhsp4wz/hza53nuzvkjwmwy7omplkyinglvntr8yxokmnd2nlg9fscats551/8apljfxoyb6sgi4h8pugulstw1wvlsmo8xmfhj8rmbzdvjrnfsp2hpduqm01btrnkk5q7iqfufbf43qf8abo3/aiud8g/i/wdgdxpih8efjfy+i7jwdz88v/dhxp8acfxl8g38p3+h2s6l4n8n+mtuvfe3/ch31xrqmt9iz0w88foksvz3fh6+p/sepihh/eeoeuiejehuham/cq5u6txmw4xhlmkebkrtjkm44mmkdfyprulcsjl2rgqvsatgvd0ecen8u+jpdhjg3ipjj8s8h55hfvlcdvy94cpk8qfsbrqwhtnxq06ts91k3jkcpqi9vupjr8eyp+a/v/c8vjj8iphbrnxq+cpxisfdlt4+8f+fpid4m+e/ix4op4fv9cvtrxhjxj4n0u98t/8ach31xrrdpx7zrbzwwiysl5d+hr6rniohuia/jhlh7hrihiojp3egvoqshmwlwmcwp5tgrtlguj4avsfgokuunolll2rg6toctknbcbcezd9genxpxlw5wa+jed88jhfmwbpzg8buyewhqrvfxxmoyr1adwrong3jjqm5oydxlv2fv2zdf/bz1v4bftb/fx4t+pvht8h/aaxdqs/hxwn8qf2gfih8d7v4txwo3em3mgtgx4nm1x4w8awh0/ittd+r8q0ejpx/wjtlenx7od+l8v4mybpod8g4iwm/57k/smsxmecyfd5qsovgktbwoc6xgkmnp2fnk9hmuqqsuivvo4i8mcm+kfx4f8qujeemtw3wvlsmssjl1fok+zvn1vlkeuwpem8nsozsclb35jqlu5on/9k=
and after searching both strings, seems there changes in base64 string cant resolved @ client side... client expects: output == input.
Comments
Post a Comment