Pergunta

Duplicate: Serializando para JSON em jQuery

Parece que há um JSON serializador / desserializador construído em jQuery, já que é capaz de implementar coisas como .getJSON. É possível usar o construída em processador jQuery JSON-se um processador de propósito geral JSON (ie. Fazer uma chamada jQuery.something () para serializar / desserializar minha própria dados), eliminando a necessidade de uma biblioteca JSON separado?

Update: As respostas da pergunta acima referidos dizem que não há código de serialização JSON em jQuery. Como cerca de JSON desserialização? Como é .getJSON implementado, e por que não é a capacidade de desserialização exposta para uso geral?

Update2: Eu já estou usando json2 de json.org, eu estou tentando se livrar dele como tudo o que eu estou fazendo é desserialização simples. Soa como jquery realmente está apenas fazendo eval? Tive a impressão que não foi tão bom para de segurança:

A função eval é muito rápido. No entanto, ele pode compilar e executar qualquer programa de JavaScript, por isso não pode haver problemas de segurança

Foi útil?

Solução

jQuery não apenas usar eval () para agora. jQuery 1.4 vai incluir suporte para desserialização JSON navegador nativo em navegadores que suportam. Você pode tirar proveito do que agora se você quiser, por usando callback DATAFILTER do jQuery para evitar o eval () quando possível (colocá-lo em $ .ajaxSetup para afetar todos os $ .ajax (), $ .post (), $ .getJSON () chama automaticamente).

Outras dicas

soa como o que você precisa é a implementação serialize / deserialize disponíveis em http: //www.json. org / js.html que fornece JSON.parse () e JSON.stringify (), tornando-o fácil de (de) dados serialize e validar.

Se você simples quiser traduzir um texto JSON em um objeto, em seguida, usar a função eval ().

Eu só comecei a usar jQuery, e eu acho que é mais fácil apenas a deixar a biblioteca json2.js de JSON.org em, em seguida, estender jQuery para usá-lo.

Eu acredito que para desserializar o jQuery dados json de entrada apenas eval () é isso. Eu não sei de qualquer serialziation construído em embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top