开发者

Problems with escaped characters in JSON string

I have a JSON-string where I know where the problem is, I just can't figure out what to do. I have looked up the "forbidden characters" in a JSON-string but it just doesn't work. When you run the show-method for FBStreamDialog for iPhone a view comes up with how it's going to look like when it's finally posted on the wall.

This happends when the "description"-property in my JSON-string is hard coded like @"Testing". But as soon as I add the text fetched from a data source which looks like this, it doesn't work:

            "description":"

    LIVE: Uk's No:1 Reggae Singer Bitty Mclean + Joey Fever, Sthlms No:1 Reggae Voice.

        DJs
        Deejay Flash & Micke Goulos + Mc Fabulous G.

        The Vinyl Bar
        Up...

"

Note: I only show the "description"-property of the JSON-string, because there is where the problem is.

So what I tried to do was, as I've explained before, to add the string "Testing" in the "description"-property. This worked. But I wanted to have the data source property of "description", of course. So I tried to replace all the characters that isn't a letter with this code:

shortString = [shortString stringByReplacingOccurrencesOfString:@"&" withString:@"och"];
shortString = [shortString stringByReplacingOccurrencesOfString:@"+" withString:@"plus"];
shortString = [shortString stringByReplacingOccurrencesOfString:@"," withString:@"komma"];
shortString = [shortString stringByReplacingOccurrencesOfString:@"'" withStr开发者_如何学编程ing:@"apostrof"];
shortString = [shortString stringByReplacingOccurrencesOfString:@":" withString:@"colon"];

The output of that is:

    "description":"LIVEcolon Ukapostrofs Nocolon1 Reggae Singer Bitty Mclean plus Joey Feverkomma Sthlms Nocolon1 Reggae Voice.

DJs
Deejay Flash och Micke Goulos plus Mc Fabulous G.

The Vinyl Bar
Up...

Which looks like a approvable JSON string?

But apparently not, because the facebook view never shows how it's going to look if I use the data source "description"-property. It just shows the text box "What's on your mind".

This is driving me crazy.


Finally!

I understand why you didn't answer this question. How could you know that facebook connect doesn't allow \n in their StreamDialog's. Not for iPhone anyway.

So the solution was to replace \n with a whitespace or whatever you want.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜