Tengo alrededor de 7000 líneas de datos JSON que quiero analizar. Se puede ver un ejemplo de solo una parte de here. Lo que hice fue usar WebRequest
y StreamReader
para poner todos los datos en una cadena. (Curiosamente, pone todos los datos en una sola línea MUY larga). Pero ahora quiero analizar esto y no estoy seguro de cómo. ¿Alguien puede explicar cómo usar Deserialize
? He analizado datos JSON con Java anteriormente, pero estoy teniendo problemas para hacerlo con C#, especialmente con mi incapacidad para encontrar documentación con ejemplos claros. Cualquier ayuda será apreciada.Análisis de datos JSON con C#
Respuesta
Pruebe JSON.Net, si no ha visto esto, debería ayudarlo.
biblioteca Json.NET hace que trabajar con JSON datos formateados en .NET simple. Las características clave incluyen un serializador JSON flexible para convertir rápidamente las clases .NET a JSON y viceversa, y LINQ a JSON para lectura y escribiendo JSON.
Deserialización discutida here.
El método más rápido de convertir entre el texto JSON y un objeto .NET es usando el JsonSerializer. El JsonSerializer convierte los objetos .NET en su equivalente JSON y vuelve a .
La estructura del código básico para deserialización es abajo - Target
todavía tiene que ser llenado para capturar el resto de los elementos de datos analizados con el tipo apropiado. El archivo mencionado json.txt
contiene sus datos de la URL anterior.
using System;
using System.IO;
using Newtonsoft.Json;
public class NameAndId
{
public string name;
public int id;
}
public class Data
{
public NameAndId[] data;
}
public class Target
{
public string id;
public NameAndId from;
public Data likes;
}
public class Program
{
static void Main(string[] args)
{
string json = File.ReadAllText(@"c:\temp\json.txt");
Target newTarget = JsonConvert.DeserializeObject<Target>(json);
}
}
Aquí está la primera parte de la corriente de JSON para referencia:
{
"id": "367501354973",
"from": {
"name": "Bret Taylor",
"id": "220439"
},
"message": "Pigs run from our house in fear. Tonight, I am wrapping the pork tenderloin in bacon and putting pancetta in the corn.",
"updated_time": "2010-03-06T02:57:48+0000",
"likes": {
"data": [
{
"id": "29906278",
"name": "Ross Miller"
},
{
"id": "732777462",
"name": "Surjit Padham"
},
Personalmente no me gusta llevar alrededor de dependencias de bibliotecas externas cuando la funcionalidad es proporcionada por el marco. En este caso, la clase JavaScriptSerializer
:
var serializer = new JavaScriptSerializer();
var myobj = serializer.Deserialize<MyType>(mystring);
de acuerdo. Además, he utilizado la clase DataContractJsonSerializer, ubicada en el espacio de nombres System.Runtime.Serialization.Json (System.Runtime.Serialization assembly) para objetos JSon deserializados: 'DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer (typeof (T)); return (T) jsonSerializer.ReadObject (memoryStream); ' –
@ Dr.Wily'sApprentice: ¿Qué referencia o .NET Framework se necesita para eso? (editar) Ah. 'System.ServiceModel.Web' al parecer. – Nyerguds
- 1. Análisis JSON incremental en C#
- 2. Análisis de objetos json
- 3. Estricto análisis JSON con Google's Gson?
- 4. Análisis JSON en TListBox
- 5. json error de análisis con comillas dobles
- 6. Análisis de mapas JSON/diccionarios con Gson?
- 7. JSON Error de análisis
- 8. de análisis anidado JSON
- 9. Análisis JSON array nodejs
- 10. AS3 Análisis JSON
- 11. Análisis de JSON en Android
- 12. Colmena: análisis JSON
- 13. Análisis JSON en Erlang
- 14. Análisis Json Windows8
- 15. análisis de JSON utilizando jQuery
- 16. Envío/análisis de varios objetos JSON
- 17. Node.js Error de análisis JSON
- 18. Análisis JSON tolerante a errores
- 19. Análisis de XML en JSON
- 20. JSONKit cadena json de análisis
- 21. matriz de análisis de JSON con foreach PHP
- 22. Análisis de json en C# sin conocer los índices
- 23. Análisis JSON sin claves entrecomilladas
- 24. Análisis JSON simple usando Perl
- 25. Datos básicos con json
- 26. Cómo probar la unidad de análisis JSON
- 27. análisis de JSON DateTime a partir de Newtonsoft JSON Serializador
- 28. Análisis de Json en Blackberry 5.0
- 29. análisis de solicitudes formateadas json en appengine
- 30. jQuery.ajax() + objeto JSON vacío = error de análisis
Véase también http://stackoverflow.com/questions/3905807/mapping-tool-for-converting-javas-json-to-from-c –
http: // json.org - buena diversión limpia con enlaces –