Serializova data - předána do comtroleru - jak zpracovat   otázka

C#, ASP.NET MVC

Potřeboval bych zpracovat tyto data

[{"id":1},{"id":2,"children":[{"id":3},{"id":5,"children":[{"id":6},{"id":7},{"id":8}]},{"id":4},{"id":9},{"id":10}]},{"id":11},{"id":12}]

Je to menu vždy chvil dřeň jsou vždy děti

Například id1 nemá žádné potomky id2 ma 3,5 - 5 pak 6 atd

Mate nějaké nápady? Potrebuju to uložit do db přídě mi to jako parametr do controleru

V db je klasika kat id a patent id

Vzniká n úrovni vy strom

Díky za rady

Petr

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Přečetl sis to po sobě?

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

1. můžete si udělat třídy odpovídající tomu JSONu a pak to zkusit deseralizovat

třída by vypadala asi takto:

class Kat
{
    public int id;
    public Kat[] children;
}

2. můžete to projet "ručně" a přesypat to do něčeho jiného

Na oba dva způsoby můžete použít Json.NET - Newtonsoft.Json - https://json.codeplex.com/

nahlásit spamnahlásit spam 0 odpovědětodpovědět

// omlouvám se, nějak se mi bugnul internet a postlo se to dvakrát

nahlásit spamnahlásit spam 0 odpovědětodpovědět

nebugl se ti internet. Zdejší AJAX o sobě nedává vědět, proto všichni raději kliknou ještě jednou.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ve skutečnosti to bylo ještě složitější. Já jsem psal tu ukázku kódu přímo v prohlížeči a najednou mi to řeklo, že je problém s připojením. Kliknul jsem na ok a vyskočilo druhé okno, že jsou v diskuzi nové příspěvky a jestli je chci zobrazit. Zjistil jsem, že je to ten můj nedopsaný. Tak jem refreshnul stránku a hned tam byl dvakrát.

Asi jsem při psaní toho kódu použil nějakou klávesovou zkratku Visual Studia, která nevím, že existuje, používám ji a prohlížeč ji interpretuje jaksi jinak :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Spíše chyba samotného webu - stáváte se to více lidem a "výpadkem" konektivity to rozhodně není

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží jaké používáte technologie a jakou máte architekturu projektu.

Pokud například použijete ASP.NET WebAPI, tak se vám deserializace z JSON provede automaticky. Musíme k tomu nedeklarovat odpovídající třídu(y) a tu použít jako vstupní parametr volané operace.

Jinak můžete pro vstupní argument použít string a pak volat nějakou knihovnu na deserializaci JSON dat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback