как получить доступ к одной паре имя-значение из объекта JSON - PullRequest
0 голосов
/ 11 мая 2011

допустим, у меня есть этот JSON-объект, переданный обратно с сервера через

JavascriptSerializer oSer = new JavascriptSerializer();
string sJson = oSer.Serialize(myObject);

json, который мне возвращают моему клиенту через ajax-вызов, равен

"{\"IsValid\":false,\"EmployeeId\":null,\"fullName\":\"a\",\"EmailAddress\":\"n/a\",\"PhoneNumber\":\"n/a\"}"

, поэтому после $.parseJSON(result);

возможно ли получить только значение IsValid без циклического перебора целых пар имя / значение объекта?

ОБНОВЛЕНИЕ: похоже, когда json попадает к клиенту, изменяется: в= между парами имя-значение.так что теперь я должен выяснить, как заменить = на: чтобы я мог анализировать и обращаться к нему, как к истинной записи свойства объекта.

success: function (data)
                    {
                        data.replace("=", ":");
                    }

не работает.

также у меня установлено свойство ajax dataType 'json'

Ответы [ 4 ]

1 голос
/ 11 мая 2011
var myObj = $.parseJSON(result);
myObj.IsValid

Убедитесь, что ваш результат заключен в кавычки, одинарные кавычки в порядке.

1 голос
/ 11 мая 2011

В любом случае вам не нужно циклически проходить через каждое поле - просто получите доступ к нему как прямое свойство результата из parseJSON.

var obj = $.parseJSON(result);
alert(obj.IsValid);
0 голосов
/ 12 мая 2011

я нашел проблему.в

  $.ajax(
        {
            type: "POST",
            data: "myJson=" + jsonData,
            url: "/myURL",
            success: function (result)
            {
               //some code
            }
         });

у меня был dataType: 'json', который преобразовывал мой правильно сконфигурированный JSON из подачи

0 голосов
/ 11 мая 2011

Sure:

var obj = jQuery.parseJSON(result);
alert(obj.IsValid);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...