Заменить строку массивом объектов - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь заменить строковую константу массивом объектов.

У меня есть

string test = "{\"property\":\"#replacedValue#\"}";

var array = someObject.where(x=>something).ToArray();

test = test.Replace("#replacedValue#",JsonConvert.SerializeObject(array));

вывод идет как

{"property":"[{"name":"value"},{"name":"value"},{"name":"value"}]"}

Array заменяется строкой

то, что я хочу, это

 {"property":[{"name":"value"},{"name":"value"},{"name":"value"}]};

Я использую. net core 3.1

1 Ответ

2 голосов
/ 14 июля 2020

Вы можете разобрать строку json на JObject и заменить значение свойства:

string test = @"{""property"":""#replacedValue#""}";

var jObj = JsonConvert.DeserializeObject<JObject>(test);
jObj["property"] = new JArray(new[] {1,2,3,4});
Console.WriteLine(jObj.ToString());

напечатает:

{
  "property": [
    1,
    2,
    3,
    4
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...