2013-02-18 1 views
20

Я ищу способ, которым json parsing будет принимать информацию как есть (как если бы это был CDATA) - и не пытаться сериализовать это. Мы используем и .net и java (клиент и сервер) - так что ответ должен быть о структуре JSON Есть ли способ достичь этой структуры?JSON - есть ли какой-либо XML-CDATA-эквивалент?

Спасибо.

ответ

6

В JSON отсутствует эквивалент CDATA CDATA. Но вы можете закодировать свое сообщение в строковом литерале, используя что-то вроде base64. См. this question для более подробной информации.

+0

Ввод двоичных данных в JSON выглядит лучше всего/проще всего с кодировкой Base64. Ссылка: http://stackoverflow.com/questions/1443158. –

+3

, хотя это могло быть лучшим решением, это все еще ужасная идея. JSON должен быть удобочитаемым и машиночитаемым (точно так же, как xml), и кодирование нарушает этот шаблон. Кроме того, строка может стать очень большой. – FeedTheWeb

-1

http://www.json.org/ подробно описывает формат JSON. В соответствии с этим JSON не поддерживает тип значения типа «что-то типа CDATA».

Для создания структуры CDATA вы можете применять пользовательскую логику для обработки строковых значений (и делать это так же, как для .net, так и для java-реализаций). Например.

{ 
    "type" : "CDATA", 
    "value" : "Value that I will handle with my custom logic on java and .net side" 
} 
+6

это, конечно, не удастся, так как «значение» не может содержать литеральные данные без экранирования определенных символов. – FeedTheWeb