在c#中创建JSON字符串

时间:2014-07-12 22:12:06

标签: 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 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; }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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);