2016-07-20 4 views
0

У меня есть формат JSON, как этотКак читать JSON формат с помощью JQuery

{ 
    "data1": { 
     "name": "acong", 
     "status": { 
      "kawin": "Ya", 
      "Keterangn": "Udah Kawin" 
     }, 
     "data2": [{ 
      "id": "1", 
      "nama": "Bali" 
     }, { 
      "id": "2", 
      "nama": "Jakarta" 
     }] 
    } 
} 

как выводить в HTML с помощью JQuery?

+0

в каком формате в HTML? –

+0

in html select option tag – Trisna

+0

post html format –

ответ

0

Если у вас есть valid JSON строку, которую вы можете разобрать его с JavaScript, как это:

var jsonString = '[{..},{...},...]'; 
var obj = JSON.parse(jsonString); 

И затем, перебрать сгенерированный объект вроде этого:

for (var item in obj) { 
    var objItem = obj[item]; 
    // Do your stuff here ... 
} 

Пример

Этот фрагмент создает список опций из объекта data2:

var obj = { 
 
     "data1": { 
 
     "name": "acong", 
 
     "status": { 
 
       "kawin": "Ya", 
 
       "Keterangn": "Udah Kawin" 
 
      }, 
 
     "data2": [ 
 
      { 
 
      "id": "1", 
 
      "nama": "Bali" 
 
      }, 
 
      { 
 
      "id": "2", 
 
      "nama": "Jakarta" 
 
      } 
 
     ] 
 
    } 
 
}; 
 

 

 
// Get the object that contains the options 
 
var data2 = obj['data1']['data2']; 
 

 
// Iterate over this object 
 
for (var item in data2) { 
 

 
    var opt = data2[item]; 
 

 
    // Append an new option element for every object node 
 
    $('#sel').append($('<option value="' + opt.id + '">' + opt.nama + '</option>')); 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script> 
 
<select id="sel"></select>

0

, если его JSON объект пересылается с сервера, сделайте это как этот

var data = { 
     "data1": { 
      "name": "acong", 
      "status": { 
       "kawin": "Ya", 
       "Keterangn": "Udah Kawin" 
      }, 
      "data2": [{ 
       "id": "1", 
       "nama": "Bali" 
      }, { 
       "id": "2", 
       "nama": "Jakarta" 
      }] 
     } 
    }; 
console.log(data) ; 
console.log(data.data1) 
data.data1.data2.forEach(function(d,index){ 
console.log(d.id); 
}); 

в HTML вывода, как это

$("#someelement").html("<strong>"+data.data1.name+"</strong>"); 
+0

my json не присваивается переменной как получить результат с помощью jquery и добавить к тегу опций – Trisna

+0

использовать jquery ajax для извлечения данных и возврата ответа от сервера как объекта JSON, чем вы можете использовать объект результата как объект JSON. проверить это http://api.jquery.com/jquery.getjson/ – abhirathore2006

0

проходным объекта с помощью $.each() - создать html и добавьте его в любой div или элемент

var data = { 
 
"data1": { 
 
    "name": "acong", 
 
    "status": { 
 
     "kawin": "Ya", 
 
     "Keterangn": "Udah Kawin" 
 
    }, 
 
    "data2": [{ 
 
     "id": "1", 
 
     "nama": "Bali" 
 
    }, { 
 
     "id": "2", 
 
     "nama": "Jakarta" 
 
    }] 
 
} 
 
} ; 
 

 
var html = "<select>"; 
 
$.each(data,function(i,x) { 
 
    $.each(x.data2,function(i_inner,x_inner) { 
 
     html += "<option value='"+x_inner.id+"'>"+x_inner.nama+"</option>"; 
 
    }); 
 
}); 
 
$("#container").html(html)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div id="container"></div>

+0

как назначить переменную json? я получаю JSON от API и я получаю JSON как этот '{ "data1": { "имя": "acong", "статус": { "Kawin": "Я", "Keterangn" : "Уды Kawin" }, "data2": [{ "идентификатор": "1", "нам": "Бали" }, { "идентификатор": "2", "нам": "Jakarta" }] } } ' – Trisna

+0

Вы извлекаете данные с помощью ajax? –

+0

спасибо, что работа @Dhara – Trisna

Смежные вопросы