Usando json.net, como eu construir essa string json?
-
14-09-2019 - |
Pergunta
Eu estava tecendo minha própria json programaticamente, e foi aconselhado a não fazer a minha própria como escapar para a barra e quebras de linha não será suficiente basicamente.
Meu json é parecido:
{"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>"}
Como posso usar a biblioteca json.net para criar esta? Eu não quero criar um objeto e serializar-lo como neste momento eu não tenho os dados em uma classe / objeto.
Solução
Isto lhe dará um objeto que você pode continuar a modificar ou apenas fazer um ToString sobre se tudo que você quer é o texto 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());
Outras dicas
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, se você precisar deste como resultado controlador e você estiver usando ASP.NET MVC você pode apenas usar o JsonResult ActionResult
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow