javascript - 使用字符串从 jQuery AJAX 遍历 JSON 对象

标签 javascript jquery

是否可以将JSON的遍历路径存储在一级以上的变量中?

在变量中定义JSON遍历路径。

var jsonPathLink = 'sequenceId'; 
var jsonPathText = 'answer.body';

jQuery AJAX 调用。 (我删除了所有不必要的设置,但如果您想要包含更多代码,请告诉我。)

$.ajax({
  success: function(data){
    if(data.length > 0){
      for(x in data){
        console.log(data[x][jsonPathLink]); // This works.

        console.log(data[x][jsonPathText]);  // This does not work.
        console.log(data[x] + jsonPathText); // This also does not work.
      }
    }
  }
});

最佳答案

你可以像下面这样写一个 traverseObject 函数:

function traverseObj(obj, path) {

    var arr = path.split('.'),
        len = arr.length,
        i = 0,
        ret;

    for ( ; i<len; i+=1 ) {

        // on the first iteration, the passed object
        // is cached in the ret-variable.
        ret = !i
            ? obj[arr[i]]
            : ret[arr[i]];

    }

    return ret;

}

路径的单个元素通过遍历它们来应用于传递的对象。结果被缓存并返回。

示例:http://jsfiddle.net/k8GWz/

关于javascript - 使用字符串从 jQuery AJAX 遍历 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195648/

相关文章:

javascript - 为什么嵌入式谷歌地图会改变 Chrome 的字体渲染?

javascript - Fuelux 向导和 formvalidation.io - 一个 ajax

javascript - 为什么我没有得到返回值javascript

jquery - ui-sortable-handle 类添加到 edit.php WordPress

javascript - CX509CertificateRequestPkcs10 对象上的 InitializeFromPrivateKey() 中的模板参数在尝试特定模板时导致异常

javascript - 每 5 分钟触发一次的计时器

javascript - 列表项位置在滚动时不变

javascript - 如何为多个表头制作粘性标题?

javascript - 单击事件时切换各个功能 - Javascript

javascript - 如何在 Javascript 中从数组构建对象