Как преобразовать список строк (которые уже находятся в отдельных данных JSON) в один массив результатов JSON в C #? - PullRequest
2 голосов
/ 14 мая 2019

Итак, у меня есть список строк, который содержит данные Individualdu json, потому что он находится в c # .netCore, он уже содержит escape-символ ('\') для двойных кавычек, но в действительности он отображает правильное значение, которое я знаю, но затемя хочу массив всех этих отдельных результатов JSON в целом результат JSON.то, что я делаю, это непосредственно сериализует этот список строк, как показано в приведенном ниже коде, но добавляет дополнительные escape-символы.Есть ли другой лучший способ сделать это с помощью JsonResult или что-то?

    string json = JsonConvert.SerializeObject(ListOfIndiviualJson);

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Если я правильно понял, ListOfIndiviualJson - это List<string>, который содержит строки типа

{
    "key1": "value",
    ...
}

И вы хотите сериализовать его в нечто вроде:

[
    {
        "key1": "value",
        ...
    },
    ...
]

Вы можете Parse каждой из строк JSON в JObject, а затем сериализовать List<JObject>:

JsonConvert.SerializeObject(ListOfIndiviualJson.Select(JObject.Parse).ToList());

Очевидно, что если ListOfIndiviualJson фактически содержит массивы JSON вместо объектов JSON, используйте JArray.Parse.

0 голосов
/ 14 мая 2019

Если я правильно вас понял, у вас есть список объектов json, хранящихся в виде строки I, но теперь вы хотите, чтобы он представлял собой массив строк.

string json = @"
    [ 
        { ""test1"" : ""desc1"" },
        { ""test2"" : ""desc2"" },
        { ""test3"" : ""desc3"" }
    ]";

    JArray a = JArray.Parse(json);
     var _len = a.Count; // will be 3

Затем вы можете преобразовать его в строку и в представлении json вы увидите нормальный вывод.

...