string с двойными кавычками в несколько строк?
Visual Studio 2019 Есть данные
{
"product": "oil",
"price": 544.13
}
string json = "{\"product\": \"oil\", \n \"price\": 544.13}";
Как можно для удобства задавать также в несколько строк!?
string json1 = @"{'product': 'oil',
'price': 544.13}";
Но только с двойными кавычками? [дублирующего вопроса нет!!! Не нашёл] Когда использую \" для задачи двойных кавычек внутри строки, компилятор не даёт разорвать строку.
Нужно:
string json1 = @"{"product": "oil",
"price": 544.13,
"volume":11 }";
\" - не помогает
Ответы (3 шт):
Если Вам нужно получить на выходе корректный JSON, а объект заранее известен, попробуйте обойтись без работы со строками:
var obj = new
{
price = 544.13,
product = "oil"
};
var json = JsonConvert.SerializeObject(obj);
При работе с анонимным типом будет удобно задавать значения полей, не используя кавычек. А далее, полученный объект конвертировать в JSON удобным способом, в данном случае через Newtonsoft
Предложу необычное, немного извращенное решение. Вместо экранирования кавычек будем использовать интерполяцию $ и "буквальный идентификатор @" одновременно. Доступно начиная с c# 6.0+ :
const char q = '\u0022';
var json1 = $@"
{{
{q}product{q}: {q}oil{q},
{q}price{q}: 544.13,
{q}volume{q}:11
}}";
P.S. Не проверял работу на .net framework, только на .net core.
Вот так. Переносы работают.
string json1 = @"{""product"": ""oil"",
""price"": ""544.13"",
""volume"":11 }";