JSON 개체 목록을 통해 반복
웹 서비스에서 List <>를 JSON 개체 목록으로 반환하고 있습니다. for 루프를 사용하여 목록을 반복하고 속성에서 값을 가져 오려고합니다. 다음은 반환되는 JSON의 샘플입니다.
{"d":[{"__type":"FluentWeb.DTO.EmployeeOrder",
"EmployeeName":"Janet Leverling",
"EmployeeTitle":"Sales Representative",
"RequiredDate":"\/Date(839224800000)\/",
"OrderedProducts":null}]}
그래서 다음과 같은 것을 사용하여 내용을 추출하려고합니다.
function PrintResults(result) {
for (var i = 0; i < result.length; i++) {
alert(result.employeename);
}
어떻게해야합니까?
오늘도 같은 문제가 발생했습니다. 귀하의 주제가 저를 도왔으므로 여기에 해결책이 있습니다.)
alert(result.d[0].EmployeeTitle);
조심하세요, d
목록입니다.
for (var i = 0; i < result.d.length; i++) {
alert(result.d[i].employeename);
}
가까워요! 이 시도:
for (var prop in result) {
if (result.hasOwnProperty(prop)) {
alert(result[prop]);
}
}
최신 정보:
결과가 실제로 한 개체의 배열 인 경우 다음을 수행해야 할 수 있습니다.
for (var prop in result[0]) {
if (result[0].hasOwnProperty(prop)) {
alert(result[0][prop]);
}
}
또는 더 많은 경우 배열의 각 결과를 반복하려면 다음을 시도하십시오.
for (var i = 0; i < results.length; i++) {
for (var prop in result[i]) {
if (result[i].hasOwnProperty(prop)) {
alert(result[i][prop]);
}
}
}
여기있어:
success:
function(data) {
$.each(data, function(i, item){
alert("Mine is " + i + "|" + item.title + "|" + item.key);
});
}
샘플 JSON 텍스트 :
{"title": "camp crowhouse",
"key": "agtnZW90YWdkZXYyMXIKCxIEUG9zdBgUDA"}
jQuery를 사용하고 있기 때문에 각각의 방법을 사용하는 것이 좋습니다. 또한 모든 것이이 JS Object [Notation]의 속성 'd'의 값인 것 같습니다.
$.each(result.d,function(i) {
// In case there are several values in the array 'd'
$.each(this,function(j) {
// Apparently doesn't work...
alert(this.EmployeeName);
// What about this?
alert(result.d[i][j]['EmployeeName']);
// Or this?
alert(result.d[i][j].EmployeeName);
});
});
That should work. if not, then maybe you can give us a longer example of the JSON.
Edit: If none of this stuff works then I'm starting to think there might be something wrong with the syntax of your JSON.
var d = $.parseJSON(result.d);
for(var i =0;i<d.length;i++){
alert(d[i].EmployeeName);
}
This will work!
$(document).ready(function ()
{
$.ajax(
{
type: 'POST',
url: "/Home/MethodName",
success: function (data) {
//data is the string that the method returns in a json format, but in string
var jsonData = JSON.parse(data); //This converts the string to json
for (var i = 0; i < jsonData.length; i++) //The json object has lenght
{
var object = jsonData[i]; //You are in the current object
$('#olListId').append('<li class="someclass>' + object.Atributte + '</li>'); //now you access the property.
}
/* JSON EXAMPLE
[{ "Atributte": "value" },
{ "Atributte": "value" },
{ "Atributte": "value" }]
*/
}
});
});
The main thing about this is using the property exactly the same as the attribute of the JSON key-value pair.
I have the following call:
$('#select_box_id').change(function() {
var action = $('#my_form').attr('action');
$.get(action,{},function(response){
$.each(response.result,function(i) {
alert("key is: " + i + ", val is: " + response.result[i]);
});
}, 'json');
});
The structure coming back from the server look like:
{"result":{"1":"waterskiing","2":"canoeing","18":"windsurfing"}}
참고URL : https://stackoverflow.com/questions/800593/loop-through-json-object-list
'Program Tip' 카테고리의 다른 글
MVC 5 프로젝트에서 jQueryUI 라이브러리를 추가하는 방법은 무엇입니까? (0) | 2020.12.06 |
---|---|
Swift UIAlertController-> ActionSheet iPad iOS8 충돌 (0) | 2020.12.06 |
에뮬레이터에서 확대 / 축소 할 수 없음 (0) | 2020.12.06 |
단일 연결 목록에서 루프 찾기 (0) | 2020.12.06 |
FTP를 통한 Python 스크립트 업로드 파일 (0) | 2020.12.06 |