#.net #json
#.net #json
Вопрос:
У меня есть строка «acount»: «3Jmz2251olK5r /9uOUAWhrp0=»
когда я использовал JsonConvert.DeserializeObject(«acount»:»3Jmz2251oO llK5r /9uOUAWhrp0=»);
Символ исчез из строки учетной записи.
Вы знаете кого-нибудь, как я могу это решить?
Я использую .NET 2.0.
Спасибо, Томас
Комментарии:
1. Я не вижу обратной косой черты в вашей учетной записи. Вы имеете в виду косую черту?
Ответ №1:
Обратная косая черта в C # экранирует следующий символ. Чтобы поместить реальную обратную косую черту в строку, вам нужно использовать двойную обратную косую черту:
"3Jmz2251oO llK5r\/9uOUAWhrp0="
Или вы можете использовать литеральную строку:
@"3Jmz2251oO llK5r/9uOUAWhrp0="
Комментарии:
1. На самом деле есть двойная обратная косая черта. Строка учетной записи поступает из другого приложения после десериализации с помощью Json.NET \ исчез. Спасибо.
2. @Tomas: обратная косая черта также используется в качестве escape-символа в javascript, поэтому, если исходная строка имела две обратные косые черты, правильно, чтобы результирующая строка имела только одну обратную косую черту при десериализации JSON.
3. Я использую Json.net библиотека с открытым исходным кодом, потому что мой проект работает на .Net 2.0, и эта библиотека удаляет обратную косую черту в свойстве объекта, которое десериализуется. Спасибо
4. @Tomas: Да, это правильное поведение. Обратная косая черта в JSON является управляющим символом для следующего за ним символа. Когда он десериализуется, его следует удалить.