Как мне объединить две строки JSON, чтобы позже их можно было разобрать?
Это первая строка JSON:
{ "ContractID": 140, "EndpointIdentifier": "24.2452", "ErrorMessage": "", "LogFileCollection": [ "C:/Gaston/GrandScheme/MicroLog4.txt", "C:/Gaston/Grandscheme/MicroLog2.txt" ], "MethodName": "TestModeExit", "OperationBegan": "/Date(092120-0400)/", "OperationCompleted": "/Date(092120-0400)/", "OperationID": 1, "Outcome": 0, "Parameters": [ { "Name": "ESPN", "Value": "23.4.39447", "VariableType": "System.String" } ], }
И мой второй файл JSON:
{ "CellRelayESN": "VR-[26::AB::]", "CellRelaySerialNumber": "[26::AB::]", "ContractID": 0, "DeviceClassName": "GastonGrand", "EndpointIdentifier": "2.3532.432", "ErrorMessage": "", "IsAuthenticated": true, "IsRegistrationProcessComplete": false, "LastDeregistered": "/Date(092120-0500)/", "LastRead": "/Date(092120-0500)/", "LogFileCollection": [], "MethodName": "RegistrationInformation", "OperationBegan": "/Date(092120)/", "OperationCompleted": "/Date(092120)/", "OperationID": 2, "Outcome": 0, "Parameters": [ { "Name": "jobManager", "Value": "jobFoundYesOrNo", "VariableType": "String" }, { "Name": "ESPN", "Value": "2.16.839447", "VariableType": "String" } ], "ReturnType": "RegistrationInfoResult", "Server": "Host-1", "ServiceTypeID": 1, "Status": "Registered", "TestRunID": 3206, "TokenID": null }
Что я уже пробовал:
В настоящее время я храню эти два JSON-файла в одном столбчатом DataTable, который позже преобразую в строку для синтаксического анализа с помощью JToken.Разбор. Однако, когда я пытаюсь разобрать его, я сталкиваюсь с ошибкой:
Additional text encountered after finished reading JSON content: {. Path '', line 2, position 0.'
в
JToken token = JToken.Parse(table);линия. Мне интересно, Как правильно объединить эти два JSON-файла в одну строку, чтобы ее можно было правильно разобрать? Вот остальная часть моего кода:
public static List<string> CleanOperationsTable(string liteConString) { List<string> cleanedList = new List<string>(); SQLiteConnection liteCon = new SQLiteConnection(liteConString); liteCon.Open(); DataTable dtbl = new DataTable(); string select = "SELECT ResponseBody FROM Operations LIMIT 2"; SQLiteCommand cmd = new SQLiteCommand(select, liteCon); SQLiteDataAdapter sqliteDAP = new SQLiteDataAdapter(cmd); sqliteDAP.Fill(dtbl); /// Converts the 1 column DataTable into a single string to /// it's easier to parse with JSON string table = string.Join(Environment.NewLine, dtbl.Rows.OfType<DataRow>().Select(x => string.Join(" ; ", x.ItemArray))); JToken token = JToken.Parse(table); // ERROR HERE return cleanedList; }
Richard MacCutchan
Вы должны распечатать объединенный текст, чтобы убедиться, что он правильно отформатирован.
stevenlam505
Я считаю, что столкнулся с ошибкой из-за ведущих и конечных фигурных скобок в каждой из них. Вы не знаете, как мне их убрать?
Richard MacCutchan
Вам нужно посмотреть, что вы делаете с данными, которые вы извлекаете из своей базы данных. То, что вы предлагаете, может быть правдой, но вам нужно изучить фактические данные, чтобы быть уверенным.