Спасибо. вот правильный вопрос:
{
"VID":"60",
"name":"\u4f1a\u9634",
"requireLevel":"20",
"levelMax":"5",
"venationRequirement":"0",
"description":"\u6c14\u6d77\u4e0a\u9650\u63d0\u9ad8[Affect1]\u70b9",
"cost":{"1":"240","2":"360","3":"400","4":"600","5":"720"},
"difficult":{"1":"1024","2":"973","3":"921","4":"870","5":"819"},
"affect":{"1":"200","2":"500","3":"900","4":"1400","5":"2000"},
"descriptions":{
"1":"\u6c14\u6d77\u4e0a\u9650\u63d0\u9ad8200\u70b9",
"2":"\u6c14\u6d77\u4e0a\u9650\u63d0\u9ad8500\u70b9",
"3":"\u6c14\u6d77\u4e0a\u9650\u63d0\u9ad8900\u70b9",
"4":"\u6c14\u6d77\u4e0a\u9650\u63d0\u9ad81400\u70b9",
"5":"\u6c14\u6d77\u4e0a\u9650\u63d0\u9ad82000\u70b9"
}
}
Я использовал json_encode () в php и запрос ajax, чтобы получить текст ответа.
moonshadow и james gregory ответили на этот вопрос в комментариях ниже. еще раз спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Синтаксис [] явно предназначен для создания массивов, тогда как {} имеет совершенно другое значение (он думает, что вы пытаетесь создать функцию / блок)
Ваш второй неверен, потому что вы оцениваете хеш, чтобы он работал, вам нужно переписать его, чтобы он выглядел примерно так:
var s = '{"first": {"a":1}, "second": {"b":2}}';
Если ваш второй пример представляет собой попытку создать объект с двумя вложенными объектами, вам не хватает имен для свойств внешнего объекта, например
var s = '{"FirstSubObject": {"a": 1}, "SecondSubObject": {"b": 2}}';
Javascript немного запутался в том, что и в каком контексте он анализирует. Добавьте '(' и добавьте ')' перед передачей строки в eval (), чтобы заставить ее проанализировать все как выражение.
(В заданном вами вопросе также отсутствуют метки для внешнего ассоциативного массива, как указывали другие, однако образцы данных, которые вы при условии, проясняют фактическую проблему).
Для этого лучше использовать json.