我想从json数据中获取我的价值

时间:2017-10-24 01:47:21

标签: javascript jquery json

我有这样的json

{
  "id":"1",
  "name":"Kitchen Set",
  "parent_id":"0",
 }, 
 {
  "id":"2",
  "name":"Bedroom",
  "parent_id":"0"
 }, 
 {
  "id":"3",
  "name":"Living Room",
  "parent_id":"0"
 }, 
 {
  "id":"4",
  "name":"Kitchen Set",
  "parent_id":"1",
  "price":"1000"
 }, 
 {
  "id":"5",
  "name":"Meja Bar",
  "parent_id":"1",
  "price":"2000"
 }, 

我希望将price:添加到我的javascript

这是我的问题我想从我的json到我的javascript获取price我该怎么办?

我试试这个,但它不起作用



load_json_data('Price');

 function load_json_data(price)
 {
  var html_code = '';
  $.getJSON('int_fur_fin.json', function(data)
 }




这是我的javascript



<script>
$(document).ready(function(){

 load_json_data('Interior');

 function load_json_data(id, parent_id)
 {
  var html_code = '';
  $.getJSON('int_fur_fin.json', function(data){

   html_code += '<option value="">Select '+id+'</option>';
   $.each(data, function(key, value){
    if(id == 'Interior')
    {
     if(value.parent_id == '0')
     {
      html_code += '<option value="'+value.id+'">'+value.name+'</option>';
     }
    }
    else
    {
     if(value.parent_id == parent_id)
     {
      html_code += '<option value="'+value.id+'">'+value.name+'</option>';
     }
    }
   });
   $('#'+id).html(html_code);
  });

 }

 $(document).on('change', '#Interior', function(){
  var Interior_id = $(this).val();
  if(Interior_id != '')
  {
   load_json_data('Furniture', Interior_id);
  }
  else
  {
   $('#Furniture').html('<option value="">Select Furniture</option>');
  }
 });
    });

</script>
&#13;
&#13;
&#13;

我使用此javascript代码填充我的下拉列表

<form>
   <select name="Interior Details" id="Interior" class="form-control input-lg">
    <option value="">Select Interior Details</option>
   </select>
   <br />
   <select name="Furniture" id="Furniture" class="form-control input-lg" required >
    <option value="">Select Furniture</option>
   </select>
</form>

1 个答案:

答案 0 :(得分:0)

您可以使用 array.find() 方法查找匹配元素。我还 modified JSON 作为数组。

items.find(t=>t.parent_id ==='1');

<强>样本

&#13;
&#13;
var items = [{
  "id":"1",
  "name":"Kitchen Set",
  "parent_id":"0",
 }, 
 {
  "id":"2",
  "name":"Bedroom",
  "parent_id":"0"
 }, 
 {
  "id":"3",
  "name":"Living Room",
  "parent_id":"0"
 }, 
 {
  "id":"4",
  "name":"Kitchen Set",
  "parent_id":"1",
  "price":"1000"
 }, 
 {
  "id":"5",
  "name":"Meja Bar",
  "parent_id":"1",
  "price":"2000"
 }]; 
 
 var result = items.find(t=>t.parent_id ==='1');
 console.log(result);
&#13;
&#13;
&#13;

修改

如果您想要多个具有匹配ID的元素,请使用 array.filter.

&#13;
&#13;
var items = [{
  "id":"1",
  "name":"Kitchen Set",
  "parent_id":"0",
 }, 
 {
  "id":"2",
  "name":"Bedroom",
  "parent_id":"0"
 }, 
 {
  "id":"3",
  "name":"Living Room",
  "parent_id":"0"
 }, 
 {
  "id":"4",
  "name":"Kitchen Set",
  "parent_id":"1",
  "price":"1000"
 }, 
 {
  "id":"5",
  "name":"Meja Bar",
  "parent_id":"1",
  "price":"2000"
 }]; 
 
 var result = items.filter(t=>t.parent_id ==='1');
 console.log(result);
&#13;
&#13;
&#13;