/ / Problémové syntaktické polia na json - c #, polia, json, razor

Vydanie parsovacích polí do json - c #, polí, json, holiacich strojčekov

Môj problém: "Píšem webovú aplikáciu na správu kontaktov. Na strane servera pracujem so syntaxou Razor (C #) a" m "posielaním ajax požiadaviek na môj server s kódovaným reťazcom json ako hlavičkou. Test.cshtml to prijíma nasledovne:

var j = Json.Decode(Request["json"]);

Teraz môžem použiť všetky objekty úplne v poriadku. ALE! Mám pole v json kódovaný reťazec ako...,"persons":[1,2,3],... The Json.Decode dekóduje to, ako by mal na pole, ktoré môžem použiť na zápis dát do mojej databázy. Po vykonaní tohto kroku, ja "d rád poslať aktualizovaný objekt späť klientovi (pole nebolo zmenené ani neurobilo nič iné s) pomocou:

<text>
@Html.Raw(Json.Encode(j));
@j.persons.Length;
</text>

a výstupom prvku osoby je ...,"persons":{},..., ale dĺžka osôb je 3, ako má byť. Čo robím zle? Existujú parametre na to, aby mohol Json.Encode kódovať aj sub-objekty a polia?

Ďakujem za tvoju podporu

PS: @ j.person.Length je len dokázať, že pole nie je prázdne a existujúce

odpovede:

1 pre odpoveď č. 1

Našiel som problém. Musel som silne napísať automaticky generované pole (z Json.Decode) so slučkou:

int[] temp = new int[j.persons.Length];
for(var i = 0;i < j.persons.Length;i++){
temp[i] = (j.persons[i] is string)?Int32.Parse(j.persons[i]):(int)j.persons[i];
}
j.persons = temp;

Ďakujem za prístup Jozefa


0 pre odpoveď č. 2

pretože to je len kódovanie root a nie osoby, ktoré sa snažia j.as_json(:include => :persons)