Forum » Programiranje » Parsanje grdega JSON-a
Parsanje grdega JSON-a
njyngs ::
Kako bi se lotili parsanje sledečega JSON-a:
S tem, da so "1", "2", popolnoma random spremenljivi, objekt je pa povsod enakega tipa.
Ni torej "pravilen/standarden?"
{ "1" : {...objekt...}, "2" : {...objekt...}, "3" : {...objekt...}, "4" : {...objekt...} }
S tem, da so "1", "2", popolnoma random spremenljivi, objekt je pa povsod enakega tipa.
Ni torej "pravilen/standarden?"
{ "items":[ {...objekt...}, {...objekt...}, {...objekt...}, {...objekt...} ] }
- spremenil: njyngs ()
jype ::
Jah, če ni pravilen, potem ni JSON in moraš napisati svoj parser za ta neJSON.
Najlažje je verjetno tako, da vzdržuješ stanje odpiranja in zapiranja blokov in se ob vsakem zaprtem bloku pretvarjaš, da si videl vejico.
Najlažje je verjetno tako, da vzdržuješ stanje odpiranja in zapiranja blokov in se ob vsakem zaprtem bloku pretvarjaš, da si videl vejico.
erezervacija ::
mislim, da je to povsem pravilen (resda cuden) json. po mojem poklices Object.keys in dobis....
var somedata = {
"Pizza" : ["Cheese", "Bread", "Sauce"]
}
// to get all keys of this somedata object, returned as an array
Object.keys(somedata) // returns ["Pizza"]
var somedata = {
"Pizza" : ["Cheese", "Bread", "Sauce"]
}
// to get all keys of this somedata object, returned as an array
Object.keys(somedata) // returns ["Pizza"]
Zgodovina sprememb…
- spremenilo: erezervacija ()
WhiteAngel ::
OP: Primer mi izgleda kot slovar (map). Ti pa zelis imeti seznam (list)? JSON mi drugace zgleda pravilen, ce izvzamem manjko vejic.
Zgodovina sprememb…
- spremenil: WhiteAngel ()
njyngs ::
Vejice so moja napaka, ker sem na hitro natipkal in sem jih izpustil. Popravljeno.
Imata pa prav. Map dobim brez problema. Bo pa šlo z object mapperjem naprej. Hvala.
Imata pa prav. Map dobim brez problema. Bo pa šlo z object mapperjem naprej. Hvala.
Zgodovina sprememb…
- spremenil: njyngs ()
kuall ::
Zakaj pa vidva z jUpetom mislita, da to ni pravilen json? json format je:
{
name: value,
name: value,
...
}
s tem, da se lahko objekte vgnezdi. ni tako?
{
name: value,
name: value,
...
}
s tem, da se lahko objekte vgnezdi. ni tako?
WhiteAngel ::
njyngs ::
Zakaj pa vidva z jUpetom mislita, da to ni pravilen json? json format je:
{
name: value,
name: value,
...
}
s tem, da se lahko objekte vgnezdi. ni tako?
Če imaš (dinamično) listo objektov enakega tipa "ponavadi" daješ { "lista":[ {},{},{} ] } in ne vsakega posebej s svojim imenom.
Zgodovina sprememb…
- spremenil: njyngs ()
jype ::
Zdaj, ko si dodal vejice, tudi jaz ne vidim več nepravilnosti.
Če so imena cela števila, potem je to neobičajno, ni pa neveljavno.
Če so imena cela števila, potem je to neobičajno, ni pa neveljavno.
Zgodovina sprememb…
- spremenilo: jype ()
njyngs ::
Po kateri navadi je to?
Torej vi delate za dinamični spisek tako?
{ "item1":{...objekt...}, "item2":{...objekt...}, "item3":{...objekt...}, "item4":{...objekt...}, "item5":{...objekt...}, "item6":{...objekt...} }
O bože :)
EDIT: Drugače sem že rešil kot je bilo zgoraj omenjeno
Map dobim brez problema. Bo pa šlo z object mapperjem naprej. Hvala.
Zgodovina sprememb…
- spremenil: njyngs ()
erezervacija ::
ce je ta struktura bolj razvejana, to sploh ni tako neumno, vsaj jaz sem se enkrat lotil zadeve tocno na tak nacin (in se vse da narediti). je pa seveda z arrayi naceloma lazje delati
smacker ::
Odvisno za kaj rabiš. Če je prva operacija, da preveriš ali tak JSON vsebuje "item4", potem je to vsekakor bolje, kot če bi "item4" mel v objektu kot "id: item4". Programira se glede na potrebe, ne glede na navade.
Zgodovina sprememb…
- spremenil: smacker ()
njyngs ::
Odvisno za kaj rabiš. Če je prva operacija, da preveriš ali tak JSON vsebuje "item4", potem je to vsekakor bolje, kot če bi "item4" mel v objektu kot "id: item4". Programira se glede na potrebe, ne glede na navade.
Se strinjam za določene case. Za moj case je v tem primeru array boljša izbira.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pomoč pri json datotekiOddelek: Programiranje | 1268 (915) | sasha991 |
» | [Android] setText iz AsyncTaskOddelek: Programiranje | 844 (761) | golobich |
» | Poizvedba v MySql z AndroidomOddelek: Programiranje | 1885 (1659) | MrStein |
» | [asp.net]c# In JsonOddelek: Izdelava spletišč | 963 (734) | shadeX |
» | Masterpage in jQuery(ajax call)Oddelek: Programiranje | 1351 (1179) | hatchette |