C#-尝试将Dictionary转换为JSON

Ven*_*lev 2 c# json

这是我的代码:

public class JsonData
{
    public string header;
    public Dictionary<string, string> data = new Dictionary<string, string>();
    public int connectionId;
}

JsonData SendData = new JsonData();
SendData.header = "01";
SendData.data.Add("text", "What is Lorem Ipsum?Lorem ");
SendData.data.Add("accId", "123");
SendData.connectionId = 12;

string json = JsonUtility.ToJson(SendData);
Run Code Online (Sandbox Code Playgroud)

一切都很好,但是以某种方式data转换后的JSON字符串中的密钥根本不会出现。

该string json如下所示:

{"header":"01","connectionId":12}
Run Code Online (Sandbox Code Playgroud)

代替:

{"header":"01","data":{"text":"What is Lorem Ipsum?Lorem ","accId":"123"},"connectionId":12}
Run Code Online (Sandbox Code Playgroud)

我的错误在哪里?为什么我不能收到这样的结果?

Fel*_*ani 5

使用Newtonsoft.Json得到正确的JSON。给定在项目上引用的名称,请使用名称空间:

using Newtonsoft.Json;
Run Code Online (Sandbox Code Playgroud)

并使用JsonConvert.SerializeObject静态方法:

string json = JsonConvert.SerializeObject(SendData);
Run Code Online (Sandbox Code Playgroud)