2016-02-13 2 views
1

Я не могу вытащить элементы анализируемого объекта JSON.Получить элемент из разобранного объекта JSON

var thisObj = JSON.parse(req.responseText); 
    console.log(JSON.parse(req.responseText)); 

Вот что вошли:

Object 
data: "{"sVar":"sdf","nVar":"","dVar":"","cVar":"#000000"}" 

Я попытался следующие методы

thisObj.data[sVar]

thisObj.data.sVar

Все они производятся undefined.

Это не похоже на массив. Любые идеи?

console.log (req.responseText) ...

{ 
    "args": {}, 
    "data": "{\"sVar\":\"asdf\",\"nVar\":\"\",\"dVar\":\"\",\"cVar\":\"#000000\"}", 
    "files": {}, 
    "form": {}, 
    "headers": { 
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en;q=0.8", 
    "Content-Length": "52", 
    "Content-Type": "application/json", 
    "Host": "httpbin.org", 
    "Origin": "http://localhost:63342", 
    "Referer": "http://localhost:63342/AssignmentAJAX/weather.html", 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36" 
    }, 
    "json": { 
    "cVar": "#000000", 
    "dVar": "", 
    "nVar": "", 
    "sVar": "asdf" 
    }, 
    "origin": "65.128.122.251", 
    "url": "http://httpbin.org/post" 
} 
+1

Можете ли вы показать нам простой ответ, пожалуйста? Это почти похоже на '.data' была строка – Bergi

+0

Да. Консоль log req и req.responseText и отправьте их, пожалуйста. – millerbr

+2

'data' явно строка. Сначала вам нужно разобрать его. Еще лучше: исправьте код на стороне сервера, чтобы узел дважды закодировал ваши данные. –

ответ

1

data свойство thisObj является строка, представляющая объект данных. Вы тоже должны его разобрать. Например:

var response = JSON.parse(req.responseText); 
var data = JSON.parse(response.data); 
console.log(data.sVar); 
+0

Да, как-то, когда я это сделал, вы получили двойной анализ, как упомянул Феликс Клинг; однако этот метод анализа его дважды работал. Позднее я вернулся и исправил корень проблемы моего запроса на сервер. Благодаря! – McMurroughDan

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