C# 在c中创建JSON字符串#

C# 在c中创建JSON字符串#,c#,json,C#,Json,我不熟悉JSON格式。我想使用c#,Json.net创建以下内容 目标Json格式: { "tafsir":{ "1_1":{ "text":"Some text here" }, "1_2":{ "text":"Some text here2" } } } 但是,要获得输出: "{\"tafsir\":{\"1_1\":\"Some text here\",\"1_2\":\"Some text

我不熟悉JSON格式。我想使用c#,Json.net创建以下内容

目标Json格式:

{
   "tafsir":{
      "1_1":{
         "text":"Some text here"
      },
      "1_2":{
         "text":"Some text here2"
      }
   }
}
但是,要获得输出:

"{\"tafsir\":{\"1_1\":\"Some text here\",\"1_2\":\"Some text here2\"}}
到目前为止,我一直在关注以下内容,这并没有给出创建所需的json字符串:

void Main()
{
    var result = new Translation();
    Dictionary<string, string> texts = new Dictionary<string, string>();
    texts.Add("1_1", "Some text here");
    texts.Add("1_2", "some text here2");

    result.tafsir = texts;
    var jsonStr = JsonConvert.SerializeObject(result);
}

public class Translation
{
    public Dictionary<string, string> tafsir { get; set; }
}

public class Trans
{
    public List<TransItem> Texts { get; set; }
}

public class TransItem
{
    public string Id { get; set; }
    public string Text { get; set; }
}
void Main()
{
var result=新翻译();
字典文本=新字典();
文本。添加(“1_1”,“此处有一些文本”);
文本。添加(“1_2”,“此处部分文本2”);
result.tafsir=文本;
var jsonStr=JsonConvert.SerializeObject(结果);
}
公共课翻译
{
公共字典tafsir{get;set;}
}
公共类Trans
{
公共列表文本{get;set;}
}
公共类传输
{
公共字符串Id{get;set;}
公共字符串文本{get;set;}
}
有什么想法吗?

var obj=new{tafsir=new Dictionary{
var obj = new {tafsir = new Dictionary<string, object>{
                          {"1_1", new{text="Some text here"}},
                          {"1_2", new{text="Some text here2"}}
                        }
              };

var json = JsonConvert.SerializeObject(obj,  Newtonsoft.Json.Formatting.Indented);
{“1_1”,新的{text=“此处的某些文本”}, {“1_2”,新的{text=“Some text here2”} } }; var json=JsonConvert.serialized对象(obj,Newtonsoft.json.Formatting.Indented);
那么它的输出是什么?什么不起作用?你的
Trans
TransItem
类永远不会起作用。@帕特里克霍夫曼:请再看一遍这个问题。我已经更新了。你认为
“文本”:
部分来自哪里?@Henkholtman:这是个好问题。我不确定应该如何重写代码以获得目标输出。你有什么想法吗?谢谢