2017-01-23 4 views
0

Я пытаюсь получить таблицы в формате JSON строку (просто пример)JObject форматирования (json.net)

DataTable table = new DataTable(); 
    table.Columns.Add("Name", typeof(string)); 
    table.Rows.Add("David"); 

    var Result = from row in table.AsEnumerable() 
     select new 
     { name = (string)row["Name"] }; 
    JObject json = JObject.FromObject(new 
           {Result}); 
    return json ; 

Я получаю это:

"Table":{"Result":[{"name":"David"}]} 

, но это нужно:

"Result":[{"name":"David"}] 

есть какие-то способы форматирования строки и избавиться от «таблицы», «результат»// и т.д., сочетая их в одном? (может быть, не json.net?)

+0

эти оба примера являются недопустимыми JSON. –

+0

ну да, это всего лишь часть целой строки {"Данные": {"Таблица": {"Результат": [{"name": "David"}]}}}. – Eve

+0

попробуйте использовать 'JObject.FromObject (результат)'. –

ответ

0

Я выясняю это. необходимо использовать JsonConvert.SerializeObject вместо JObject

0

У этой проблемы возникло хакерское решение.
Скажем, после того, что ваш код вашей JObject json получил следующее значение:

{ "Data": { "Таблица": { "Результат": [{ "Имя": "Давид"}]}}}

Все, что вам нужно сделать, это просто добываются желаемое значение из него, как JObject:

JObject newJson = json.GetValue("Data").Value<JObject>().GetValue("Table").Value<JObject>(); 
Смежные вопросы