File json con campi array e non e sono poco più che un somaro in C

di TRBMRA il
4 risposte

Buongiorno a tutti 

appena iscritto e già rompo con gli aiuti

Vorrei creare un piccolo programma in C# che mi permetta di verificare dei dati estratti dai miei pannelli fotovoltaici e successivamente, assegnare i valori a variabili per poi farli digerire ad un impinto di riscaldamento.

In sintesi produco molto, non la mando in rete ma scaldo acqua e casa.

Sono riuscito grazie alla mia testrardaggine a creare questo con Visula Studio

using System;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace PrintStorageData
{
   class Program
   {
       static void Main(string[] args)
       {
           // Read the JSON file
           string jsonString = File.ReadAllText(@"C:\Users\trabu\Desktop\Trasporto Informazioni\Potenza.json");

           // Deserialize the JSON string into a dynamic object
           dynamic jsonData = JsonConvert.DeserializeObject(jsonString);
           // Extract storage data and print to console
           Console.WriteLine("RefreshRate:" + jsonData.siteCurrentPowerFlow.updateRefreshRate);
           Console.WriteLine("Type unit: " + jsonData.siteCurrentPowerFlow.unit);
           Console.WriteLine("Prova Tutto: " + jsonData);
           // Console.WriteLine("  Location: " + jsonData.STORAGE.location);
          // Console.WriteLine(" Mio: " + jsonData.STORAGE.cap);
           // Console.WriteLine("  Capacity: " + jsonData.POTENZA.KW);
           //Console.WriteLine("  Location: " + jsonData.STORAGE.location);
           //Console.WriteLine(" Mio: " + jsonData.STORAGE.cap);
       }
   }
}

che legge questo file JSON

{
"siteCurrentPowerFlow":{
"updateRefreshRate":3,
"unit":"kW",
"connections":[{"from":"LOAD","to":"Grid"},{"from":"PV","to":"Load"}]
,"GRID":{"status":"Active","currentPower":0.24},
"LOAD":{"status":"Active","currentPower":0.14},
"PV":{
"status":"Active",
"currentPower":0.38},
"STORAGE":{
"status":"Idle",
"currentPower":0.0,
"chargeLevel":100,
"critical":false}}}

IL mio problema è riuscire a leggere all'interno del array “connections” e da lì, non mi schiodo.

Qualcuno può dirmi dove sbaglio

Grazie saluti

4 Risposte

  • Buongiorno

    Ti ringrazio per la risposta ma purtroppo, non sono in grado di trovare una soluzione al motivo per cui non riesco leggere il campi all'interno del array "connections":[{"from":"LOAD","to":"Grid"},{"from":"PV","to":"Load"}]

    Ciao

  • Ciao, puoi provare ad usare un foreach loop.

    dynamic jsonData = JsonConvert.DeserializeObject(jsonString);
    		   
    foreach(dynamic connection in jsonData.siteCurrentPowerFlow.connections) {
    	Console.WriteLine("FROM: " + connection["from"]);
    	Console.WriteLine("TO: " + connection["to"]);
    }	

    Ti lascio una piccola guida: 

    https://www.w3schools.com/cs/cs_foreach_loop.php

  • Perfetto tutto gira come un orologio

    Ora prendo le variabili e provo farle digerire ad un sistema di riscaldamento.

    Grazie mille a tutti voi per l'aiuto

Devi accedere o registrarti per scrivere nel forum
4 risposte