Форматирование файла json в определенном формате
Я создал приложение windows и извлекаю данные из базы данных в datatable.Я использую Newtonsoft json.dll для преобразования данных в формат json.Формат, который я получаю, - это не тот выход, который мне нужен.Мне нужен определенный конкретный формат.Как я могу добиться этого в своем приложении?Я также попытался заменить метод, но безрезультатно.
Мой код приложения ::
<pre lang="c#"> private void button1_Click(object sender, EventArgs e) { Open_Connection(); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("select ID,Name from TMaster", SQL_Conn); da.Fill(dt); DataTableToJSONWithJSONNet(dt); } public string DataTableToJSONWithJSONNet(DataTable table) { string JSONString = string.Empty; JSONString = JsonConvert.SerializeObject(table,Formatting.Indented); // JSONString = JSONString.Replace(@"\r","'"); return JSONString; }
JSON O/P я получаю из приведенного выше кода :
[ { "ID": 1, "Name": "TP_G" }, { "ID": 2, "Name": "TP_S" }, { "ID": 3, "Name": "TP_Cl" }, { "ID": 4, "Name": "TPGM" } ]
Формат json мне нужен несколько похожий на \ 'id\' таким образом:
{ \'id\': \'27GSPMH5711G1ZO\', \'name\': \'072017\', \'gt\': 3782969.01, \'cur_gt\': 3782969.01, \'b2b\': [ { \'ctin\': \'27GSPMH5711G1ZO\', \'inv\': [ { \'inum\': \'9005\', \'idt\': \'01-07-2017\', \'val\': 729248.16, \'pos\': \'27\', \'rchrg\': \'N\', \'inv_typ\': \'R\', \'itms\': [ { \'num\': 1, \'itm_det\': { \'rt\': 5, \'txval\': 10000, \'camt\': 500, \'samt\': 900 } } ] } ] } ] }
Что я уже пробовал:
Пробовал string replace, пробовал jsonconvert class различными методами, но безрезультатно.
Richard MacCutchan
То, что вы получаете, - это правильный формат данных JSON. Если вы хотите, чтобы все это было размято, вам нужно написать какой-то код, чтобы создать этот формат самостоятельно.
Roy1209
Так как же мне написать код ?? Должен ли я сначала упорядочить данные в datatable, а затем попытаться преобразовать их в формат json или 1-й сделать преобразование, а затем попытаться привести данные в требуемый формат.
Richard MacCutchan
Он уже находится в формате JSON. Я не понимаю, чего вы добиваетесь.
Mehdi Gholam
Зачем вам это форматирование? Это не допустимая строка json.
Roy1209
Требование api к получению данных в указанном формате
Mehdi Gholam
Ни один api не заставит вас иметь нестандартный json, вы должны ошибиться, проконсультируйтесь с авторами api.
Roy1209
ОК проверит и вернется к вам.
Graeme_Grant
Как и в моем ответе, это подтвердит, является ли какой-либо JSON действительным или нет: JSON Formatter & Validator[^]
Richard Deeming
Данные, которые вы загрузили из своей базы данных, похоже, не имеют абсолютно никакого отношения к ожидаемому результату.
Как вы добираетесь от А до Б?