MVC json file geeft fouten

Status
Niet open voor verdere reacties.

rambomambo

Gebruiker
Lid geworden
9 dec 2012
Berichten
163
Mijn json file ziet er zo uit

vanaf de 2de onderlijnt hij alles dus er klopt iets niet de code die ik hiervoor gebruik kan je vinden op deze topic http://www.helpmij.nl/forum/showthread.php/837579-MVC-C-opslaan-naar-json-file
Hoe kan ik een json krijgen met de juiste json termen ?

het is dus de bedoeling dat ik die kan uitlezen in een datatable en nu krijg ik error1 bij het uitlezen dus de json bestand klopt niet

Code:
  "Datum": "10/01/2014",
  "Password": "fzfz",
  "Type": null,
  "SelectedEnumId": 1,
  "MyEnum": 0
}{
  "Datum": "10/01/2014",
  "Password": "fzfz",
  "Type": null,
  "SelectedEnumId": 1,
  "MyEnum": 0
}
 
Zoals het in je code tags staat is het ook niet goed.

je mist een { bracket in het begin en de 2 objecten zijn niet gescheiden met een komma

ook zal het geheel wel in een [] moeten staan om de lijst met objecten eruit te halen
 
ja die bracket in het begin staat er wel heb die vergeten te kopieren maar idd die komma en [] ontbreken
en ik weet niet waar de fout zou kunnen zitten

Code:
       [HttpPost]
        public ActionResult Index2(kalender obj)
        {
          //  Load(obj);
          //  _times.Add(new kalender() { Datum = DateTime.Now.ToString() });
            kalender kl = new kalender();

          //  if (obj.Datum > DateTime.Now)
          //  {
          //      obj.Password = "test";
          //  }
          
           // _times.Add(obj);
         Json(new { datum = obj.Datum, wachtwoord = obj.Password });

      

                try
                {

                }
                catch (Exception) { }

            //    obj.SelectedEnumId++;

                //  kl.Password = obj.Password;
            
                var json = JsonConvert.SerializeObject(obj, Formatting.Indented);
             

                using (var writer = new StreamWriter(JsonFileName1, true))
                {
                    writer.Write(json);

                }
            
            return View();

hier word mijn json dus aangemaakt

dit is mijn model

Code:
 public class kalender
    {
        //public string Datum { get; set; }
         [Required]  
        [DataType(DataType.Date)]
   
     // public Nullable<System.DateTime> Datum { get; set; }

      public string Datum { get; set; }

        [Required, StringLength(1)]
        public string Password { get; set; }
              [Required]  
        public string Type { get; set; }
              [Required]
     [Key]

        public int SelectedEnumId { get; set; }
              [Required]  
        public TestEnum MyEnum { get; set; }

              public int rand1 { get; set; }
        

    }
}
 
Laatst bewerkt:
Het uitlezen lukt niet meer? Want je kunt er van uitgaan dat de json wel klopt die je krijgt van JsonConvert.SerializeObject.
 
Het uitlezen werkt momenteel idd niet omdat mijn json bestand fouten bevat, als ik het bestand manueel aanpas dan lukt het uitlezen wel

dit is mijn foute json bestand

Code:
[
  {
    "Datum": "test",
    "Password": null,
    "Type": null,
    "SelectedEnumId": 0,
    "MyEnum": 0,
    "rand1": 0
  }
][
  {
    "Datum": "test",
    "Password": null,
    "Type": null,
    "SelectedEnumId": 0,
    "MyEnum": 0,
    "rand1": 0
  }
][
  {
    "Datum": "10/28/2014",
    "Password": null,
    "Type": null,
    "SelectedEnumId": 0,
    "MyEnum": 0,
    "rand1": 0
  }
]

er moet maar 1 [ aan het begin staan en 1 ] op het einde en de kommas ontbreken ook

Mijn json bestand word aangemaakt door deze code

Code:
  [HttpPost]
        public ActionResult Index2(kalender obj)
        {
          //  Load(obj);
          //  _times.Add(new kalender() { Datum = DateTime.Now.ToString() });
            kalender kl = new kalender();

          //  if (obj.Datum > DateTime.Now)
          //  {
          //      obj.Password = "test";
          //  }
          
           // _times.Add(obj);
      var t =   Json(new  { datum = obj.Datum, wachtwoord = obj.Password });
      var datum = obj.Datum;
      
      primes.Add(new kalender() {Datum = obj.Datum,MyEnum = obj.MyEnum,Password = obj.Password,rand1 = obj.rand1,Type = obj.Type,SelectedEnumId = obj.SelectedEnumId });
      

                try
                {

                }
                catch (Exception) { }

            //    obj.SelectedEnumId++;

                //  kl.Password = obj.Password;
            
                var json = JsonConvert.SerializeObject(primes, Formatting.Indented);
             

                using (var writer = new StreamWriter(JsonFileName1,true,Encoding.UTF8))
                {
                    writer.Write(json);

                }
            
            return View();

Dus hier zou het ergens fout moeten gaan heb wel al gevonden dat ik een list moest meegeven met die sterilisation voor [] deze code toe te vogen in mijn json bestand maar hoe ik die kommas moet laten tonen weet ik niet
 
het is opgelost blijkbaar lag het aan de derilisation waar ik ook naar de list moest verwijzen
 
Als je de json naar je bestand schrijft plak je de nieuwe lijst er achteraan daarom heb je 3x een lijst er in staan met 1 item in de lijst.

Wat je kunt doen is het hele bestand overschrijven, of eerst de oude waardes laden en toevoegen aan de lijst.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan