zawsze możesz inaczej nazwać klucz, np. "
"data" : {
"aa" : a,
"@bb.name": "kowalski",
"@bb.age": 38
}
a potem transformować tego JSONa, i z płaskiej struktury ręcznie generować z powrotem drzewo (za pomocą sprawdzania, czy klucz zaczyna się od małpy, a później dokonania operacji split wg znaku kropka). O ile masz potrzebę, żeby tak robić.
inny pomysł to trzymać wszystkie obiekty w jednym słowniku, a odnosić się do nich przez stringi:
{
"data" : {
"name": "Jan Kowalski",
"children": ["aa", "bb", "kowalskiFTW"]
},
"aa": {
"something": 3
},
"bb": {
"bla": 4
},
"kowalskiFTW": {
}
}
i w momencie załadowania JSONa można go poddać transformacji w jakimś interceptorze (przynajmniej w AngularJS, w którym pracowałem, by się to nazywało interceptorem). Tylko, że nie napisałeś co chcesz osiągnać. A tak można wymyślać naprawdę 100 różnych sposobów na zabawę z JSONem.
jeszcze możesz zrobić mixina po prostu i wrzucić wszystkie właściwości razem.
Ale przede wszystkim co chcesz zrobić? I po co? Przypuszczam, żeby ułatwić sobie iterację i zamiast przechodzenia rekurencyjnego przez drzewo trzymać obiekty w płaskiej liście czy słowniku?