【问题标题】:JSON object to Javascript objectJSON 对象到 Javascript 对象
【发布时间】:2012-03-22 00:31:48
【问题描述】:

我正在寻找一个简单的脚本来将 JSON 对象转换为 Javascript 对象,特别是能够在 jQuery 中进行 ajax 调用,然后为我将返回的所有 JSON 转换为 Javascript 对象。

我在 KnockOut.js 中使用过映射插件:https://github.com/SteveSanderson/knockout.mapping/tree/master/build/output

这很好地采用了我的 JSON 结果并在淘汰赛中创建了相关对象。

目前有什么方法可以在不淘汰的情况下做到这一点?

【问题讨论】:

  • 嗯,JSON.parse(...)?

标签: javascript jquery json knockout.js


【解决方案1】:

jquery 会自动为您执行此操作。

来自getJSON 的 JQuery 文档:

$.getJSON('ajax/test.json', function(data) {
  var items = [];

  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});

【讨论】:

    【解决方案2】:

    只需在$.ajax调用中将dataType设置为'json',或使用$.getJSON方法,JSON结果将自动解析为Javascript对象。

    【讨论】:

      【解决方案3】:

      我在这里猜测,但是如果您想将它们转换为已经定义的 javascript 对象,您需要 JSON.parse 函数中的第二个参数。查看 MDN 的文档 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON/parse.
      很简单的例子。

      JSON.parse(json,function(prop,val){
        if(prop==='objName'){
          new myObj(val);
        }
      });
      

      【讨论】:

        【解决方案4】:

        用于 JQUERY:http://api.jquery.com/jQuery.parseJSON/ 用于简单 JS:https://github.com/douglascrockford/JSON-js(查看 json.js 或 json2.js)

        知道它的格式正确:

        var myObject = eval('(' + myJSONtext + ')');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-02-06
          • 2014-01-10
          • 1970-01-01
          • 2023-03-26
          • 2014-04-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多