2012-01-16 4 views
1

Я создал JS-файл со следующим содержимым;Чтение JSON с использованием JQuery

{ "Root":{"APPLICATION":"TestMenu", 
      "SUBROOT":["ADMIN","Seller","Buyer"] 
     "TAB":"ADMIN":"Home","ADMIN":"LiveAuction","ADMIN":"Master","ADMIN":"PostAuction"] 
        "SUBTAB":[ 
          {"APPLICATION":"TestMenu","SUBROOT":"ADMIN","TAB":"HOME","CHILD":"HOME","URL":"\Default.aspx"}, 
           {"APPLICATION":"TestMenu","SUBROOT":"ADMIN","TAB":"LiveAuction","CHILD":"","URL":"#"}, 
           {"APPLICATION":"TestMenu","SUBROOT":"ADMIN","TAB":"LiveAuction","CHILD":"AuctionCatalog","URL":"\AuctionCatalog.aspx"}, 
           {"APPLICATION":"TestMenu","SUBROOT":"ADMIN","TAB":"LiveAuction","CHILD":"BidBook","URL":"\BidBook.aspx"}, 
           {"APPLICATION":"TestMenu","SUBROOT":"ADMIN","TAB":"LiveAuction","CHILD":"SampleRequest","URL":"\SampleRequest.aspx"} 
          ] 
      } 
    } 

Я звоню в этот JS-файл со следующим кодом;

$.getJSON("js/TestMenu.js", {}, function (json) { JsonCallBack(json); }); 
    function JsonCallBack(json) { 
     $.each(json.results, function (i, tweet) { 
      alert("JSON Data: " + json.Root); 
     }); 
    } 

Теперь я хочу, чтобы JSON в одном объекте, который я могу получить, но я не получаю этот JSON.

Когда я запускаю firebug, я вижу, что ответ такой же. Может ли кто-нибудь сказать мне, почему это не работает?

+2

Я попытался проверить ваш JSON через jsonLint, но, похоже, это недействительный JSON (http://jsonlint.com/) 0. – fcalderan

+1

использовать try/catch в JsonCallBack(), чтобы узнать, в чем проблема. – craftsman

+1

Или вы можете попробовать использовать '$ .get()', а затем 'JSON.parse()' в вашем ответе. Это скажет вам, есть ли ошибки с вашим JSON. – Jivings

ответ

1

Ваш JSON недействителен. Используйте JSLint, чтобы проверить, действительно ли ваш JSON. JSLint говорит об этом: Ошибка: Проблема в строке 1 символ 74: Ожидается '}', чтобы соответствовать '{' из строки 1 и вместо этого видел 'TAB'.

{ "Root":{"APPLICATION":"TestMenu", "SUBROOT":["ADMIN","Seller","Buyer"] "TAB... 

Проблема в строке 1 символов 79: Ожидаемая '}', чтобы соответствовать '{' из строки 1 и вместо этого увидел ':'.

{ "Root":{"APPLICATION":"TestMenu", "SUBROOT":["ADMIN","Seller","Buyer"] "TAB... 

Проблема в строке 1 символ 80: Ожидаемый '(конец)' и вместо этого увидел 'ADMIN'.

{ "Root":{"APPLICATION":"TestMenu", "SUBROOT":["ADMIN","Seller","Buyer"] "TAB... 

JSON: плохой.

+0

Вместо этого используйте [JSONLint] (http://jsonlint.com/). Действительный JavaScript не всегда действует JSON. –

Смежные вопросы