2017-08-01 45 views
0

我需要从Web服务器API中获取JSON。 短篇小说这是JSON结构来自Web服务器:需要帮助JQUERY Ajax我的多维JSON

[ 
    { 
     "2017-07-28": [ 
      { 
       "id": 1, 
       "produk_id": 1, 
       "nama_id": 1, 
       "jumlah_user_id": 1, 
       "harga": "50000", 
       "tanggal_efektif": "2017-07-28" 
      }, 
      { 
       "id": 2, 
       "produk_id": 1, 
       "nama_id": 2, 
       "jumlah_user_id": 1, 
       "harga": "12112121", 
       "tanggal_efektif": "2017-07-28" 
      }, 
      { 
       "id": 8, 
       "produk_id": 1, 
       "nama_id": 1, 
       "jumlah_user_id": 1, 
       "harga": "650000", 
       "tanggal_efektif": "2017-07-28" 
      } 
     ], 
     "2017-07-14": [ 
      { 
       "id": 4, 
       "produk_id": 1, 
       "nama_id": 2, 
       "jumlah_user_id": 2, 
       "harga": "121121", 
       "tanggal_efektif": "2017-07-14" 
      } 
     ], 
     "2017-07-27": [ 
      { 
       "id": 7, 
       "produk_id": 1, 
       "nama_id": 1, 
       "jumlah_user_id": 1, 
       "harga": "600000", 
       "tanggal_efektif": "2017-07-27" 
      } 
     ] 
    } 
] 

,这是我JQUERY AJAX,我在我的客户端代码写:

function loadtabelharga(){ 
    var page = event.target; 
    $.ajax({ 
     type: "GET", 
     url: 'url'+page.data.id, 
     dataType: "JSON", 
     timeout: 10000, 
     success: function(result){ 
      $.each(result[0], function (index,el) { 
       $('#prosesloadingharga').hide(); 
       console.log("harga paket : " +el.harga+" , id harga paket : "+el.id); 
      }); 
     }, 
     error: function(xhr, textStatus, thrownError) { 
      console.log("error",xhr.error); 
     } 
    }); 
}; 

为什么它导致在不确定的我console.log?我认为这与尺寸有关。谁能帮我 ? 这是一个新的东西,我得到了这样的JSON结构,我认为这是dates被称为不是idharga就像我想要的。

谢谢

+0

使用1个循环来迭代内部数组。 – Shubham

+1

它看起来像'el [0] [“2017-07-28”] [0] .harga' –

+0

'el'是和'array'不是'object'。 – james

回答

1

这是一个帮助你理解的例子。您必须使用一个循环来迭代内部循环。

var data = [ 
 
    { 
 
     "2017-07-28": [ 
 
      { 
 
       "id": 1, 
 
       "produk_id": 1, 
 
       "nama_id": 1, 
 
       "jumlah_user_id": 1, 
 
       "harga": "50000", 
 
       "tanggal_efektif": "2017-07-28" 
 
      }, 
 
      { 
 
       "id": 2, 
 
       "produk_id": 1, 
 
       "nama_id": 2, 
 
       "jumlah_user_id": 1, 
 
       "harga": "12112121", 
 
       "tanggal_efektif": "2017-07-28" 
 
      }, 
 
      { 
 
       "id": 8, 
 
       "produk_id": 1, 
 
       "nama_id": 1, 
 
       "jumlah_user_id": 1, 
 
       "harga": "650000", 
 
       "tanggal_efektif": "2017-07-28" 
 
      } 
 
     ], 
 
     "2017-07-14": [ 
 
      { 
 
       "id": 4, 
 
       "produk_id": 1, 
 
       "nama_id": 2, 
 
       "jumlah_user_id": 2, 
 
       "harga": "121121", 
 
       "tanggal_efektif": "2017-07-14" 
 
      } 
 
     ], 
 
     "2017-07-27": [ 
 
      { 
 
       "id": 7, 
 
       "produk_id": 1, 
 
       "nama_id": 1, 
 
       "jumlah_user_id": 1, 
 
       "harga": "600000", 
 
       "tanggal_efektif": "2017-07-27" 
 
      } 
 
     ] 
 
    } 
 
]; 
 

 
$.each(data[0], function(key, val) { 
 
    $.each(val, function(key1, val1) { 
 
    console.log(val1.harga); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

它的工作!谢谢...这个 – vl14b

1

试试这个:

for(var date in result[0]){ 
    for(var obj in result[0][date]){ 
     var el = result[0][date][obj]; 
     console.log("harga paket : " +el.harga+" , id harga paket : "+el.id); 
    } 
} 
1

在这里,你去了一个解决方案https://jsfiddle.net/79vv97xv/

var data = [ 
 
    { 
 
     "2017-07-28": [ 
 
      { 
 
       "id": 1, 
 
       "produk_id": 1, 
 
       "nama_id": 1, 
 
       "jumlah_user_id": 1, 
 
       "harga": "50000", 
 
       "tanggal_efektif": "2017-07-28" 
 
      }, 
 
      { 
 
       "id": 2, 
 
       "produk_id": 1, 
 
       "nama_id": 2, 
 
       "jumlah_user_id": 1, 
 
       "harga": "12112121", 
 
       "tanggal_efektif": "2017-07-28" 
 
      }, 
 
      { 
 
       "id": 8, 
 
       "produk_id": 1, 
 
       "nama_id": 1, 
 
       "jumlah_user_id": 1, 
 
       "harga": "650000", 
 
       "tanggal_efektif": "2017-07-28" 
 
      } 
 
     ], 
 
     "2017-07-14": [ 
 
      { 
 
       "id": 4, 
 
       "produk_id": 1, 
 
       "nama_id": 2, 
 
       "jumlah_user_id": 2, 
 
       "harga": "121121", 
 
       "tanggal_efektif": "2017-07-14" 
 
      } 
 
     ], 
 
     "2017-07-27": [ 
 
      { 
 
       "id": 7, 
 
       "produk_id": 1, 
 
       "nama_id": 1, 
 
       "jumlah_user_id": 1, 
 
       "harga": "600000", 
 
       "tanggal_efektif": "2017-07-27" 
 
      } 
 
     ] 
 
    } 
 
]; 
 

 
for(var dates in data[0]){ 
 
\t for(var key in data[0][dates]){ 
 
    \t console.log("Harga: ", data[0][dates][key].harga); 
 
    } 
 
}

0

我想你应该把多维数组放在一个普通的对象中。

var your_stringify_obj=JSON.stringify(your_Multidimensional_Json). 
$.ajax({ 
     type: "GET", 
     url: 'url'+page.data.id, 
     dataType: "JSON", 
     data: your_stringify_obj, 
     timeout: 10000, 
     success: function(result){ 
      $.each(result[0], function (index,el) { 
       $('#prosesloadingharga').hide(); 
       console.log("harga paket : " +el.harga+" , id harga paket : "+el.id); 
      }); 
     }, 
     error: function(xhr, textStatus, thrownError) { 
      console.log("error",xhr.error); 
     } 
    }); 
}; 

现在它应该工作。

+0

sry的最佳答案,但什么是“your_Multidimensional_Json”? json来自$ .ajax中的url – vl14b