ranio Ответов: 1

Как конкатенировать строки json в ASP.NET с помощью C#?


Я хочу объединить значения с помощью in a json string in asp.net с помощью c#. Я получаю недопустимый примитив JSON при сериализации.

Что я уже пробовал:

<pre>


            string jsonstr2 = @"{'bankId':" + bankid + ",'password': " + password + ",'userName': " + userName + "}";


HandShakeRequest resultT2 = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<HandShakeRequest>(jsonstr2);

F-ES Sitecore

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

Richard Deeming

Зачем вы создаете строку JSON в C#, если вы просто собираетесь немедленно разобрать ее в объект?

Просто создайте HandShakeRequest объект непосредственно.

HandShakeRequest resultT2 = new HandShakeRequest
{
    BankId = bankId,
    UserName = userName,
    Password = password,
};

1 Ответов

Рейтинг:
2

Jinto Jacob

вы можете попробовать ниже

var obj={};
obj.bankId=bankid;
obj.password=password ;
obj.userName=userName ;

string jsonstr2=JSON.stringify(obj);


а в с#

HandShakeRequest resultT2 =JsonConvert.DeserializeObject<HandShakeRequest>(jsonstr2)



вам нужно использовать Newtonsoft.Json для этого

Эта ссылка будет полезна[^]


ranio

Я могу передавать значения, сцепленные отлично для первого. Но второй получает недопустимый разделитель json




Первый штраф
строка jsonstr = @"{""bankId"": 049, ""пароль"": ""P049563445634674574325323674we5476956789057905694565745764256456"", ""userName"":""6919301721649254400252100878956720265267481307739303873300957305"",""timestamp"":""10:00:00""}";

Выход первого из них, который является прекрасным:

{
"bankId": 1,
"пароль": "foo",
"подпись": "",
"имя пользователя": "бар"
}

HandShakeRequest resultT = new JavaScriptSerializer().Deserialize<handshakerequest>(jsonstr);



Второй получает недопустимый разделитель json
строки jsonstr2 = @"{'идентификатор банка':" + идентификатор банка + ", пароль: "+ пароль + ",'имя пользователя': "+ логин + "}";

Выход:
{
"bankId": 1,
"пароль": "фу",
"подпись": "",
"имя пользователя": "бар"
}

Вывод второго, который получает проблему как недопустимый разделитель json
строки jsonstr2 = @"{'идентификатор банка':" + идентификатор банка + ", пароль: "+ пароль + ",'имя пользователя': "+ логин + "}";

HandShakeRequest resultT = new JavaScriptSerializer().Deserialize<handshakerequest>(jsonstr);