Создать JSON XML-строку c # - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь установить информацию о пользователе в документе, где говорится это.Я установлю всю пользовательскую информацию в строке JSON и передам эту строку мыльному действию

 'Tourist'=>{"1":{"Surname":"TestG","Name":"Tesre","Sex":"man","Birthday":"19701106",
"PassportS":"TT","PassportN":"34342342","Viza":"0","DateTake":"20031113",
"DateIssue":"20281116","WhoTake":"Testes"}}', 

Затем я попытаюсь установить это, чтобы строка связывала это в c #

 string tourist= "Tourist'=>{"'1'":{"'Surname'":"'TestG'","'Name'":"'Tesre'","'Sex'":"'man'","'Birthday'":"'19701106'","'PassportS'":"'TT'","'PassportN'":"'34342342'","'Viza'":"'0'","'DateTake'":"'20031113'","'DateIssue'":"'20281116'","'WhoTake'":"'Testes'"}}";  

, но я получаюэта ошибка:

CS1012 C # И ASP.NET MVC 3.0 Слишком много символов в символьной буквенной ошибке

1 Ответ

0 голосов
/ 03 июля 2019

Во-первых, вам лучше использовать некую форму сериализатора JSON для выполнения тяжелой работы.Я использую Newtonsoft.JSON, но я уверен, что вы можете использовать любой сериализатор.

В основном они берут класс C # и создают строку JSON из открытых атрибутов (общедоступных элементов с надписью "get").

С точки зрения вашей проблемы, именно строка, которую выСоздается неправильно:

string tourist= **"Tourist'=>{"**'1'":{"'Surname'":"'TestG'","'Name'":"'Tesre'","'Sex'":"'man'","'Birthday'":"'19701106'","'PassportS'":"'TT'","'PassportN'":"'34342342'","'Viza'":"'0'","'DateTake'":"'20031113'","'DateIssue'":"'20281116'","'WhoTake'":"'Testes'"}}";

Первая часть, "Tourist" => {", представляет собой строку с открывающими и закрывающими кавычками.Все остальное просто сбивает с толку компилятора.Вам нужно либо использовать «дословный строковый литерал», где кавычки экранируются путем удвоения их:

string tourist = @"Tourist'=>{""'1'"":{""'Surname'"":""'TestG'"",""'Name'"":""'Tesre'"",""'Sex'"":""'man'"",""'Birthday'"":""'19701106'"",""'PassportS'"":""'TT'"",""'PassportN'"":""'34342342'"",""'Viza'"":""'0'"",""'DateTake'"":""'20031113'"",""'DateIssue'"":""'20281116'"",""'WhoTake'"":""'Testes'""}}";

Или вы можете использовать обычную строку и экранировать кавычки с косой чертой:

string tourist = "Tourist'=>{\"'1'\":{\"'Surname'\":\"'TestG'\",\"'Name'\":\"'Tesre'\",\"'Sex'\":\"'man'\",\"'Birthday'\":\"'19701106'\",\"'PassportS'\":\"'TT'\",\"'PassportN'\":\"'34342342'\",\"'Viza'\":\"'0'\",\"'DateTake'\":\"'20031113'\",\"'DateIssue'\":\"'20281116'\",\"'WhoTake'\":\"'Testes'\"}}";

Однако я не уверен, почему вы цитируете свои цитируемые строки, так или иначе.Вы должны иметь возможность удалить внутренние двойные кавычки и просто использовать одинарные кавычки:

string tourist = @"Tourist'=>{'1':{'Surname':'TestG','Name':'Tesre','Sex':'man','Birthday':'19701106','PassportS':'TT','PassportN':'34342342','Viza':'0','DateTake':'20031113','DateIssue':'20281116','WhoTake':'Testes'}}";

(возможно, вы захотите взглянуть на открывающуюся "Турист '=>". Одиночная кавычка выглядит здесь неправильно.)

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