asp.net WCF и JSON - PullRequest
       1

asp.net WCF и JSON

1 голос
/ 19 июня 2010

Я знаю, что возвращение типов в сервисе wcv разрешено, и оно преобразует объект в json.Но что, если я не хочу возвращать случайный тип, а возвращаю строку с форматированным json?Я могу создать json сам, но это может: а) быть грязным и б) не автоматически кодировать html-значения.

Как мне создать произвольно отформатированную строку json?Могу ли я вернуть словарь с парой ключ-значение?Будет ли закодировано значение, чтобы вы могли передавать его, не рискуя получить искаженный формат json?

Ответы [ 3 ]

2 голосов
/ 19 июня 2010

Взгляните на JSON.Net .Я использовал его в прошлом для сериализации / десериализации в / из Json.Он также (согласно веб-странице) имеет поддержку для преобразования Json в / из XML, поэтому кажется разумным, что там будут некоторые функции для создания произвольных строк Json таким образом, который будет менее подвержен ошибкам, чем сам.

0 голосов
/ 15 апреля 2012

Насколько я понимаю, вам нужен веб-сервис, который возвращает строку, которая может быть проанализирована с помощью json (например, JSON.parse (yourReturnedString) ... Как ответил ckramer, JSON.NET может помочь отформатировать любой словарь в json, но вы должны знать, что словарь является «json-serialized» как ключ: «ваш ключ», значение: «ваше значение», которое также может быть объектом, который будет сериализован », поэтому, если вы используете JSON.NET, вам также следует после десериализации удалите все «ключ»: и , «значение» JSON.NET вернулось. настолько хорошо, что вы должны определенно объявить свой веб-метод как метод, который возвращает формат JSON.

надеюсь, что вы нашли решение до этого ответа ...

0 голосов
/ 19 июня 2010

Вы можете указать тип возврата object, а затем использовать анонимный тип для возврата произвольного объекта. Если вы хотите вернуть произвольную коллекцию, вы можете вернуть IEnumerable и использовать его для возврата коллекции анонимных типов.

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