J'ai passé la plus grande partie de deux jours à "me moquer" des échantillons de code, etc., à essayer de lire un très gros fichier JSON dans un tableau en c # afin de pouvoir le diviser plus tard en un tableau 2D pour le traitement.
Le problème que je rencontrais était que je ne pouvais trouver aucun exemple de personnes faisant ce que j'essayais de faire. Cela signifiait que je modifiais juste un peu le code en espérant le meilleur.
J'ai réussi à faire fonctionner quelque chose qui:
- Lisez le fichier Manquez les en-têtes et ne lisez que les valeurs dans le tableau.
- Placez une certaine quantité de valeurs sur chaque ligne d'un tableau. (Donc, je pourrais plus tard le diviser en un tableau 2D)
Cela a été fait avec le code ci-dessous mais il plante le programme après avoir entré quelques lignes dans le tableau. Cela peut être lié à la taille du fichier.
// If the file extension was a jave file the following
// load method will be use else it will move on to the
// next else if statement
if (fileExtension == ".json")
{
int count = 0;
int count2 = 0;
int inOrOut = 0;
int nRecords=1;
JsonTextReader reader = new JsonTextReader(new StreamReader(txtLoaction.Text));
string[] rawData = new string[5];
while (reader.Read())
{
if (reader.Value != null)
if (inOrOut == 1)
{
if (count == 6)
{
nRecords++;
Array.Resize(ref rawData, nRecords);
//textBox1.Text += "\r\n";
count = 0;
}
rawData[count2] += reader.Value + ","; //+"\r\n"
inOrOut = 0;
count++;
if (count2 == 500)
{
MessageBox.Show(rawData[499]);
}
}
else
{
inOrOut = 1;
}
}
}
Un extrait du JSON avec lequel je travaille est:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
J'ai besoin des valeurs de ce JSON. Par exemple, j'ai besoin de "3.54", mais je ne voudrais pas qu'il imprime le "vcc".
J'espère que quelqu'un peut me montrer comment lire un fichier JSON et extraire uniquement les données dont j'ai besoin et les placer dans un tableau ou quelque chose que je peux utiliser pour les mettre plus tard dans un tableau.