JSON字符串中转义字符的问题

时间:2010-09-25 11:50:12

标签: iphone cocoa-touch facebook

我有一个JSON字符串,我知道问题出在哪里,我无法弄清楚要做什么。我在JSON字符串中查找了“禁止的字符”,但它不起作用。 当您运行适用于iPhone的FBStreamDialog的show-method时,会看到一个视图,当它最终发布在墙上时它会是什么样子。

当我的JSON字符串中的“description”属性被硬编码为@“Testing”时,会发生这种情况。但是,只要我添加从数据源中获取的文本看起来像这样,它就不起作用:

            "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...

"

注意:我只显示JSON字符串的“description”属性,因为存在问题所在。

所以我试图做的是,正如我之前所解释的那样,在“description”属性中添加字符串“Testing”。这很有效。但是我想拥有“描述”的数据源属性。所以我试图用这段代码替换所有不是字母的字符:

shortString = [shortString stringByReplacingOccurrencesOfString:@"&" withString:@"och"];
shortString = [shortString stringByReplacingOccurrencesOfString:@"+" withString:@"plus"];
shortString = [shortString stringByReplacingOccurrencesOfString:@"," withString:@"komma"];
shortString = [shortString stringByReplacingOccurrencesOfString:@"'" withString:@"apostrof"];
shortString = [shortString stringByReplacingOccurrencesOfString:@":" withString:@"colon"];

输出是:

    "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...

哪个看似是可批准的JSON字符串?

但显然不是,因为如果我使用数据源“description”-property,facebook视图永远不会显示它的外观。它只显示文本框“你在想什么”。

这让我发疯了。

1 个答案:

答案 0 :(得分:2)

最后!

我明白为什么你没有回答这个问题。你怎么知道facebook connect在他们的StreamDialog中不允许 \ n 。不管怎么说都不适用于iPhone。

所以解决方法是用空白替换\ n或者你想要的任何东西。