2016-02-06 42 views
0

我有ajax函数,然后我需要从命名字符串调用json,如何处理?如何从字符串调用json

$.ajax({ 
    url: fullUri + curID, 
    type: "get", 
    dataType: 'json', 
    success: function (data) { 
    $.each(data.data, function (key, value) { 
     var typeInput = data.fields[key]; 
     if (typeInput == 'select'){ 
      var listJson = 'data.'+uri+'-'+key; 
      $.each(listJson,function(key2,value2){ 
       alert(value2); 
      } 

     } 

和我的JSON是这样的:

data: 
    data: 
     articles_title: "title", 
     articles_content: "content" 
     users_id: 1 
    fields: 
     articles_content: "textarea" 
     articles_title: "text" 
     users_id: "select" 
    article-users_id: 
     field: "value" 
     field2: "value2" 

我的问题是如何调用data.article-users_id,因为我创造了它动态地...谢谢

+0

你是什么意思* “我创造了它动态地” *?属性名称更改?如果是这样......为什么? – charlietfl

+0

那不是JSON,也许是YAML? – MinusFour

+0

@charlietfl yaa我创建模型的选择框,这意味着模型“文章”,并将用于users_id,因为我使这个自动生成的形式... –

回答

0

您无法以这种方式导航对象属性:

obj["property1.property2.property3"]

...但你需要做的是这样的:

obj["property1"]["property2"]["property3"]

-1

搜索,我发现后如何将其称为数组数据['string']

 var listJson = 'data.'+uri+'-'+key; 
     $.each(data[listJson],function(key2,value2){ 
      alert(value2); 
     } 
+0

检查我的答案,它不会这样工作...... –

+0

@MatíasFidemraizer这是工作,因为只有1深度,btw感谢您的回答 –

+0

没问题。要导航对象路径,您需要实现递归函数 –