2009-06-15 4 views
1

Je tissais mon propre json par programmation, et on m'a conseillé de ne pas rouler le mien, car s'échapper pour la barre oblique et les sauts de ligne ne suffiront pas fondamentalement.En utilisant json.net, comment pourrais-je construire cette chaîne json?

Mon JSON est de ressembler à:

{"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>"} 

Comment puis-je utiliser la bibliothèque json.net pour créer cette? Je ne veux pas créer un objet et le sérialiser car à ce stade je n'ai pas les données dans une classe/objet.

Répondre

1

Cela vous donnera un objet que vous pouvez continuer à modifier ou tout simplement faire un ToString si tout ce que vous voulez est le texte JSON.

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()); 
+0

Quelle est la vitesse de cette bibliothèque? – mrblah

+0

http://james.newtonking.com/archive/2008/10/27/json-net-3-5-beta-1-big-performance-improvements-compact-framework-support-and-more.aspx –

+0

si vous n'êtes pas récompensé une réponse à cette question qui le fera? hehe merci! – mrblah

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

Ou, si vous avez besoin de cette suite du contrôleur et que vous utilisez ASP.NET MVC, vous pouvez simplement utiliser le JsonResult ActionResult

Questions connexes