Как я могу привести словарь<string, object> В keyvaluepair<string, object>
У меня есть метод десериализации моего json в словарь<string,object>, Но у меня возникают проблемы, когда мой json является объектом, чтобы превратить его в словарь<string, object>.
Я получаю ошибку во втором цикле foreach
Ошибка: не удается неявно преобразовать тип System.коллекции.универсальный.словарь в<строка, Объект="">, Чтобы система'.коллекции.универсальный.keyvaluepair в<строка, объект=""&ГТ;
//Вот этот метод
public static Dictionary<string, object> DeserializeToDictionary(string jsonString, bool isArray = false) { if (!isArray) isArray = jsonString.Substring(0, 1) == "["; if (!isArray) { var responseJson = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonString); var copyOfResponseJson = new Dictionary<string, object>(); foreach (KeyValuePair<string, object> myDictionary in responseJson) { if (myDictionary.Value is JObject) copyOfResponseJson.Add(myDictionary.Key, DeserializeToDictionary(myDictionary.Value.ToString())); else if (myDictionary.Value is JArray) copyOfResponseJson.Add(myDictionary.Key, DeserializeToDictionary(myDictionary.Value.ToString(), true)); else copyOfResponseJson.Add(myDictionary.Key, myDictionary.Value); } return copyOfResponseJson; } else { var resposneJson1 = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(jsonString); var copyOfResponseJson2 = new Dictionary<string, object>(); foreach(KeyValuePair<string, object> myDictionary in resposneJson1) { if (myDictionary.Value is JObject) copyOfResponseJson2.Add(myDictionary.Key, DeserializeToDictionary(myDictionary.Value.ToString())); else if (myDictionary.Value is JArray) copyOfResponseJson2.Add(myDictionary.Key, DeserializeToDictionary(myDictionary.Value.ToString(), true)); else copyOfResponseJson2.Add(myDictionary.Key, myDictionary.Value); } return copyOfResponseJson2; }
//Обновление вопроса с помощью одного из Json я пытаюсь десериализовать
{ "groups": null, "data": [{ "type": 123, "name": "Name123" }, { "type": 567, "name": "SecondName" } ], "total": 2 }
Что я уже пробовал:
Я не знаю, как исправить эту ошибку... Любая помощь была бы очень кстати.
Garth J Lancaster
Не знаю точно, откуда именно вы имеете в виду ошибку - может быть, вы можете использовать Улучшить вопрос и добавьте комментарий жирным шрифтом, чтобы показать, где происходит ошибка .. может быть, вы также могли бы показать нам некоторые из Json или издевательскую версию просто так, чтобы люди могли видеть, что вы десериализуете
Member 14779968
Здравствуйте, Гарт, спасибо за ваш ответ.. Я обновил вопрос и добавил json, с которым работал..