Eu apenas usei o XmlWriter para criar um XML para enviar de volta em uma resposta HTTP. Como você criaria uma string JSON. Suponho que você usaria apenas um construtor de string para criar a string JSON e eles formatariam sua resposta como JSON?
238
Respostas:
Você pode usar a classe JavaScriptSerializer , consulte este artigo para criar um método de extensão útil.
Código do artigo:
Uso:
fonte
O uso do Newtonsoft.Json facilita muito:
Documentação: JSON serializando e desserializando
fonte
string json = JsonConvert.SerializeObject(new { "PropertyA" = obj.PropertyA });
."PropertyA"
SerPropertyA
?string json = JsonConvert.SerializeObject(new { PropertyA = obj.PropertyA });
sem aspas duplas emPropertyA.
Essa biblioteca é muito boa para JSON de C #
http://james.newtonking.com/pages/json-net.aspx
fonte
Uso simlpe de Newtonsoft.Json e Newtonsoft.Json.Linq bibliotecas.
fonte
Este trecho de código usa o DataContractJsonSerializer de System.Runtime.Serialization.Json no .NET 3.5.
fonte
Dê uma olhada em http://www.codeplex.com/json/ para o projeto json-net.aspx. Por que reinventar a roda?
fonte
Você também pode experimentar o meu ServiceStack JsonSerializer, que é o serializador .NET JSON mais rápido no momento. Ele suporta serialização de DataContracts, qualquer tipo de POCO, interfaces, objetos de ligação tardia, incluindo tipos anônimos, etc.
Exemplo básico
Nota: Use o Microsofts JavaScriptSerializer apenas se o desempenho não for importante para você, pois tive que deixá-lo fora dos meus benchmarks, pois é até 40x-100x mais lento que os outros serializadores JSON.
fonte
Se você precisar de resultados complexos (incorporados), crie sua própria estrutura:
e então você pode obter a string JSON chamando
O resultado será assim:
Espero que ajude!
fonte
Se você não pode ou não deseja usar os dois serializadores JSON internos ( JavaScriptSerializer e DataContractJsonSerializer ), pode tentar a biblioteca JsonExSerializer - eu a uso em vários projetos e funciona muito bem.
fonte
Se você estiver tentando criar um serviço da Web para veicular dados sobre JSON em uma página da Web, considere usar o kit de ferramentas do ASP.NET Ajax:
http://www.asp.net/learn/ajax/tutorial-05-cs.aspx
Ele converterá automaticamente seus objetos servidos em um serviço da web em json e criará a classe de proxy que você pode usar para conectar-se a ele.
fonte
O DataContractJSONSerializer fará tudo por você da mesma forma que o XMLSerializer. É trivial usar isso em um aplicativo da web. Se você estiver usando o WCF, poderá especificar seu uso com um atributo A família DataContractSerializer também é muito rápida.
fonte
Descobri que você não precisa do serializador. Se você retornar o objeto como uma lista. Deixe-me usar um exemplo.
Em nosso asmx, obtemos os dados usando a variável que transmitimos
Em seguida, usando jquery, acessamos o serviço, repassando essa variável.
E obtemos nossa resposta.
fonte
Codificar uso
Objeto simples para JSON Array EncodeJsObjectArray ()
Resultado: [[29, "microfone"], [5, "manequim"]]
Uso bonito
Método de extensão de string PrettyPrintJson () de JSON Array de impressão bonita
Os resultados são:
fonte