JSON-запрос не выполняется из-за разрывов строк, как их избежать? - PullRequest
0 голосов
/ 16 июня 2009

Кажется, что мой запрос JSON не выполняется из-за разрывов строк (я программно создаю свою собственную строку JSON).

Как я могу избежать разрывов строк?

{"rc": "200", "m" : "", "o": "<div class='s1'>
            <div class='avatar'>                    
                <a href='\/asdf'>asdf<\/a><br \/>
                <strong>0<\/strong>
            <\/div>
            <div class='sl'>
                <p>
                    444444444
                <\/p>
            <\/div>
            <div class='clear'>
            <\/div>                        
        <\/div>"}

string jsonString = BuildJSON (someCollection) .Replace (@ "/", @ "/");

Ответы [ 4 ]

1 голос
/ 08 октября 2009

Вам не нужно самостоятельно сериализовать JSON. Используйте .NET, чтобы сделать это за вас:

JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();

string JSON = jsonSerializer.Serialize(new {
    rc = 200,
    m = "",
    o = "<div>...</div>" });

Полное имя пространства имен сериализатора: System.Web.Script.Serialization.JavaScriptSerializer .

1 голос
/ 16 июня 2009

Перед построением этой строки выполните замену на \n.

0 голосов
/ 08 октября 2009

Вы должны быть в состоянии избежать разрывов строк, вызвав .Replace ("\ n", "\ n").

0 голосов
/ 08 октября 2009

Я думаю, что вы можете быть причиной проблемы в вашем примере ... вам не нужно экранировать символ /, просто любые \ символы. Так что / на самом деле неправильно, и это должно быть просто / .

Любые экземпляры \ должны быть изменены на \.

Попробуйте с этой поправкой.

Пример разрыва строки можно найти здесь:

http://www.bennadel.com/blog/161-Ask-Ben-Javascript-Replace-And-Multiple-Lines-Line-Breaks.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...