How to Convert a JSON String to a Dictionary in C# - Step by Step Examples
How to Convert a JSON String to a Dictionary in C# ?
Answer
To convert a JSON string to a dictionary in C#, you can use the `JsonConvert.DeserializeObject` method from the `Newtonsoft.Json` library. This allows you to parse a JSON string and convert it into a dictionary.
✐ Examples
1 Converting a JSON String to a Dictionary Using `JsonConvert.DeserializeObject`
We can convert a JSON string to a dictionary in C# using the `JsonConvert.DeserializeObject` method from the `Newtonsoft.Json` library. This example demonstrates how to declare a JSON string, use the `JsonConvert.DeserializeObject` method to convert the JSON string to a dictionary, and print the resulting dictionary.
For example,
- We start by including the necessary namespace:
using Newtonsoft.Json;
. - We declare a JSON string named
jsonString
that contains the JSON representation of a dictionary. - We use the `JsonConvert.DeserializeObject` method to convert the JSON string to a dictionary.
- We print the resulting dictionary.
C# Program
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
class Program
{
static void Main()
{
// Declare a JSON string
string jsonString = "{\"1\":\"One\",\"2\":\"Two\",\"3\":\"Three\"}";
// Convert the JSON string to a dictionary using JsonConvert.DeserializeObject
Dictionary<int, string> myDictionary = JsonConvert.DeserializeObject<Dictionary<int, string>>(jsonString);
// Print the resulting dictionary
Console.WriteLine("Dictionary from JSON string:");
foreach (var kvp in myDictionary)
{
Console.WriteLine("Key: {0}, Value: {1}", kvp.Key, kvp.Value);
}
}
}
Output
Dictionary from JSON string: Key: 1, Value: One Key: 2, Value: Two Key: 3, Value: Three
2 Converting a JSON String with Complex Values to a Dictionary
We can convert a JSON string with complex values to a dictionary in C# using the `JsonConvert.DeserializeObject` method from the `Newtonsoft.Json` library. This example demonstrates how to declare a JSON string with complex values, use the `JsonConvert.DeserializeObject` method to convert the JSON string to a dictionary, and print the resulting dictionary.
For example,
- We start by including the necessary namespace:
using Newtonsoft.Json;
. - We declare a class named
Person
with propertiesName
andAge
. - We declare a JSON string named
jsonString
that contains the JSON representation of a dictionary with complex values. - We use the `JsonConvert.DeserializeObject` method to convert the JSON string to a dictionary.
- We print the resulting dictionary.
C# Program
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
// Declare a JSON string with complex values
string jsonString = "{\"1\":{\"Name\":\"John\",\"Age\":30},\"2\":{\"Name\":\"Jane\",\"Age\":25}}";
// Convert the JSON string to a dictionary using JsonConvert.DeserializeObject
Dictionary<int, Person> myDictionary = JsonConvert.DeserializeObject<Dictionary<int, Person>>(jsonString);
// Print the resulting dictionary
Console.WriteLine("Dictionary from JSON string:");
foreach (var kvp in myDictionary)
{
Console.WriteLine("Key: {0}, Name: {1}, Age: {2}", kvp.Key, kvp.Value.Name, kvp.Value.Age);
}
}
}
Output
Dictionary from JSON string: Key: 1, Name: John, Age: 30 Key: 2, Name: Jane, Age: 25
Summary
In this tutorial, we learned How to Convert a JSON String to a Dictionary in C# language with well detailed examples.
More C# Dictionaries Tutorials
- How to create an Empty Dictionary in C# ?
- How to create a Dictionary with Initial Key-Value Pairs in C# ?
- How to Print a Dictionary in C# ?
- How to Add a Key-Value Pair to a Dictionary in C# ?
- How to Set a Default Value for a Key in a Dictionary in C# ?
- How to Update the Value for a Key in a Dictionary in C# ?
- How to Check if a Dictionary is Empty in C# ?
- How to Check if a Key Exists in a Dictionary in C# ?
- How to Check if a Value Exists in a Dictionary in C# ?
- How to Get the Value Associated with a Key in a Dictionary in C# ?
- How to Remove a Key-Value Pair from a Dictionary in C# ?
- How to Remove Key-Value Pairs from a Dictionary Based on Values in C# ?
- How to Clear all Key-Value Pairs from a Dictionary in C# ?
- How to Iterate over Keys in a Dictionary in C# ?
- How to Iterate over Values in a Dictionary in C# ?
- How to Iterate over Entries (Key-Value Pairs) in a Dictionary in C# ?
- How to Get the Size (Number of Key-Value Pairs) of a Dictionary in C# ?
- How to Convert a Dictionary to an Array of Keys in C# ?
- How to Convert a Dictionary to an Array of Values in C# ?
- How to Convert a Dictionary to an Array of Key-Value Pairs in C# ?
- How to Merge Two Dictionaries in C# ?
- How to Clone a Dictionary in C# ?
- How to Check if Two Dictionaries are Equal in C# ?
- How to Sort a Dictionary by Keys in C# ?
- How to Sort a Dictionary by Values in C# ?
- How to Filter a Dictionary Based on Keys in C# ?
- How to Filter a Dictionary Based on Values in C# ?
- How to Reduce Values in a Dictionary to a Single Value in C# ?
- How to Convert an Array of Key-Value Pairs to a Dictionary in C# ?
- How to Convert a Dictionary to a JSON String in C# ?
- How to Convert a JSON String to a Dictionary in C# ?
- How to Swap Keys and Values in a Dictionary in C# ?
- How to Create a Dictionary of Dictionaries in C# ?
- How to Iterate Over a Dictionary of Dictionaries in C# ?