JSON-декодирование без каждой функции - PullRequest
0 голосов
/ 14 июля 2010

Привет, все, у меня есть формат json, выложенный как

{"baseUrl":"\/","success":true}

как получить значение успеха ??

Ответы [ 2 ]

2 голосов
/ 14 июля 2010

Для этого вам может потребоваться добавить библиотеку JSON для старых версий браузера:

var json = JSON.parse('{"baseUrl":"\/","success":true}');
// or
json = {"baseUrl":"\/","success":true};

alert( json.success )
//or
alert ( json['success'])

В jQuery ajax вы можете использовать dataType json. Это позволит проанализировать код напрямую, чтобы вы получили

/* Ajax Get-Request */
$.ajax({
  type     : 'get',

  url      : "myurl.html",

  dataType : 'json',

  success  : function ( response ) 
  {
     alert ( response.success )
     alert ( response['success'])
  },

  // Internal Server Error / Timeout
  error  : function ( XMLHttpRequest, textStatus, errorThrown ) 
  {
    alert ( "Error \n" + textStatus );
  }

});

http://www.json.org/js.html

0 голосов
/ 14 июля 2010

Вот, пожалуйста.

var getJsonProperty = (function(){ 
  var hasJson = (window.JSON && JSON.parse && JSON.parse.call);
  return hasJson ? function (jsonString, property) {
    return JSON.parse(jsonString)[property];
  } : function (jsonString, property) {
    return new Function("return ("+jsonString+")['"+property+"'];")();
  }
})();


alert (getJsonProperty('{"baseUrl":"\/","success":true}', 'success'));
// shows `true`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...