从JSON结构定义中获取JSON值

get JSON value from a JSON Structure definition

本文关键字:JSON 获取 定义 结构      更新时间:2023-09-26

(使用JQuery和JavaScript)

我有一个JSON结构:

var jCRUD = {
  DataTable: [
    { title: "Data", data: function(d) {return _.toDate(d.registre.Data, "dd-mm-yyyy hh:nn");} }
    , { title: "Fil", data: 'registre.Fil' }
    , { title: "Usuari", data: 'registre.Usuari' }
  ]
};

"data"元素包含一个子json结构的引用,用于从AJAX调用的返回中检索数据。我的意思是:从REST服务中,我获得了一个JSON形式的结果集,如下所示:

var returnedAJAX = {registres: [
  registre: {
    Data: '2016-01-15'
    , Fil: 'Nom del fil'
    , Usuari: 'Seak'
  }
]};

我想获得第一个JSON中指定的值,类似于以下内容:

value1 = returnedAJAX.registres[0]. <------ jCRUD.Datatable[0].data (it's a function, then i must execute it to obtain the return value '15-01-2016')
value2 = returnedAJAX.registres[0]. <------ jCRUD.Datatable[1].data (it's 'registre.Fil', then i must obtain the value 'Nom del fil')
value3 = returnedAJAX.registres[0]. <------ jCRUD.Datatable[2].data (it's 'registre.Usuari', then i must obtain the value 'Seak')

类似于Mustache模板,我可以指定部分JSON内容或函数。

如果我解释得不好,我很抱歉。

我想我用eval()找到了解决方案(不知道它的存在):

value2 = eval('returnedAJAX.registres[0].'+ jCRUD.Datatable[1].data);
value3 = eval('returnedAJAX.registres[0].'+ jCRUD.Datatable[2].data);

我必须进一步测试,但我想我有点妨碍了。