На основе этого руководства: Веб-служба JSON и jQuery с Visual Studio 2008
Веб-метод возвращает Продукт, сериализованный в формате JSON. Поскольку тип JSON
отсутствует, возвращается значение String
в формате JSON.
На стороне клиента вызов ajax возвращает JSON.
Результат выглядит как {d: 'returned-string-with-JSON-format'}
Точнее что-то вроде: {d:'{"ID":123,"Name":"Surface Pro 2"}'}
Обратите внимание, что 'returned-string-with-JSON-format'
является строкой, а не объектом JSON, поэтому вы не можете сделать result.d.ID
.
Вместо этого вам необходимо преобразовать его в объект JSON с помощью JSON.parse(result.d)
или eval(result.d)
В конце, что вы действительно хотите, это сделать:
result = JSON.parse(result.d)
UPDATE
Также рассмотрим эту демонстрацию, где я использую JSON в строковом формате и преобразую его в объект JSON: