Titanium Appcelerator - получение JSON в обратном порядке - PullRequest
0 голосов
/ 16 января 2012

У меня есть JSON, как в примере: (на стороне сервера)

myJSON = {
       "details":[
           {"ui":"3"},
           {"vi":"7"},
           {"p" :"c:\"}
       ],
       "flowers":[
           {"bla"},
           {"bla"},
           {"bla"},
       ],
       "examples":[
       ]
};

Сейчас в Titanium я тяну этот JSON:

var xhr = Ti.Network.createHTTPClient();
    xhr.onerror = function(e){
                  Ti.API.error('Bad Server =>' + e.error);
          }

    xhr.open('POST', 'http://.....');
    xhr.send();

    xhr.onload = function(){
                 response = JSON.parse(this.responseText);
             }

Теперь, когда япытаясь предупредить значение «ответ», я вижу что-то вроде этого:

 myJSON = {
       "examples":[
       ],
       "flowers":[
           {"bla"},
           {"bla"},
           {"bla"},
       ],
       "details":[
           {"ui":"3"},
           {"vi":"7"},
           {"p" :"c:\"}
       ],
};

Кто-нибудь может подсказать мне, почему оно перевернуто?

1 Ответ

3 голосов
/ 16 января 2012

Порядок свойств не гарантирован или не значителен в JSON (или буквенной нотации JavaScript, или объектах JavaScript в целом). Эти объекты эквивалентны:

{
   "one": 1,
   "two": 2
}

и

{
   "two": 2,
   "one": 1
}

(Вам также необходимо выбрать \ в {"p" :"c:\"}, например: {"p" :"c:\\"}.)

Для поддержания порядка необходимо использовать массив , как и для значений details и flowers (обратите внимание, что они не были обращены).

Кроме того, обратите внимание, что вы указали не JSON. Дешевая распродажа - myJSON = ... в начале этого. Вы процитировали оператор присваивания с использованием буквенной нотации объекта JavaScript (например, инициализатора объекта) для правой части.

...