使用json.net,我将如何构造这个json字符串?

时间:2009-06-15 23:58:51

标签: c# asp.net-mvc json json.net

我正在以编程方式编织自己的json,并且建议不要将自己的json转换为正斜线,并且基本上断线是不够的。

我的json看起来像:

{"rc": "200", "m" : "", "o": "<div class='s1'>
            <div class='avatar'>                    
                <a href='\/asdf'>asdf<\/a><br \/>
                <strong>0<\/strong>
            <\/div>
            <div class='sl'>
                <p>
                    444444444
                <\/p>
            <\/div>
            <div class='clear'>
            <\/div>                        
        <\/div>"}

如何使用json.net库创建此文件?我不想创建一个对象并将其序列化,因为此时我没有类/对象中的数据。

2 个答案:

答案 0 :(得分:1)

JavaScriptConvert.SerializeObject(new {
    rc = 200,
    m = "",
    o = @"<div class='s1'>
            <div class='avatar'>                    
                <a href='/asdf'>asdf</a><br />
                <strong>0</strong>
            </div>
            <div class='sl'>
                <p>
                    444444444
                </p>
            </div>
            <div class='clear'>
            </div>                        
        </div>"
});

或者,如果您需要将此作为控制器结果并且您正在使用ASP.NET MVC,则可以使用JsonResult ActionResult

答案 1 :(得分:1)

如果您想要的只是JSON文本,这将为您提供一个可以继续修改的对象,或者只是执行ToString。

JObject o = new JObject();
o["rc"] = new JValue(200);
o["m"] = new JValue("");
o["o"] = new JValue(@"<div class='s1'>
      <div class='avatar'>             
          <a href='asdf'>asdf</a><br />
          <strong>0</strong>
      </div>
      <div class='sl'>
          <p>
              444444444
          </p>
      </div>
      <div class='clear'>
      </div>                        
  </div>");

Console.WriteLine(o.ToString());