Как вы можете преобразовать массив строк, представленных в формате JSON, и преобразовать это в маркированный список HTML с помощью JQuery?Использование JQuery для преобразования массива JSON в HTML-маркированный список
ответ
var ul = $('<ul>').appendTo('body');
var json = { items: ['item 1', 'item 2', 'item 3'] };
$(json.items).each(function(index, item) {
ul.append(
$(document.createElement('li')).text(item)
);
});
Насколько выборки в JSON с сервера с помощью AJAX обеспокоен вы можете использовать функцию $.getJSON()
.
Если ваши JSON строки в stringArr:
$.each(stringArr, function(idx, val) {
$('<li></li>').html(val);
}
или что-то среди этих линий должны это сделать.
Что-то вроде этого, может быть? Я не тестировал его, но он должен работать.
ul = $("<ul/>");
$(json_arr).each(function(){
$("<li/>").text(this).appendTo(ul);
});
// add ul to DOM
JSON строку так будет выглядеть так:
'["foo","bar","base","ball"]'
Вы можете разобрать, что в объект Javascript массива по телефону JSON.parse()
, перебирать этот массив и вставить строки.
var jsonstring = '["foo","bar","base","ball"]',
arr = JSON.parse(jsonstring),
len = arr.length;
while(len--) {
$('<li>', {
text: arr[len]
}).appendTo('ul');
}
<script language="JavaScript" type="text/javascript">
// Here is the code I use. You should be able to adapt it to your needs.
function process_test_json() {
var jsonDataArr = { "Errors":[],"Success":true,"Data":{"step0":{"collectionNameStr":"ideas_org_Private","url_root":"http:\/\/192.168.1.128:8500\/ideas_org\/","collectionPathStr":"C:\\ColdFusion8\\wwwroot\\ideas_org\\wwwrootchapter0-2\\verity_collections\\","writeVerityLastFileNameStr":"C:\\ColdFusion8\\wwwroot\\ideas_org\\wwwroot\\chapter0-2\\LastFileName.txt","doneFlag":false,"state_dbrec":{},"errorMsgStr":"","fileroot":"C:\\ColdFusion8\\wwwroot\\ideas_org\\wwwroot"}}};
var htmlStr= "<h3 class='recurse_title'>[jsonDataArr] struct is</h3> " + recurse(jsonDataArr);
alert(htmlStr);
$(document.createElement('div')).attr("class", "main_div").html(htmlStr).appendTo('div#out');
$("div#outAsHtml").text($("div#out").html());
}
function recurse(data) {
var htmlRetStr = "<ul class='recurseObj' >";
for (var key in data) {
if (typeof(data[key])== 'object' && data[key] != null) {
htmlRetStr += "<li class='keyObj' ><strong>" + key + ":</strong><ul class='recurseSubObj' >";
htmlRetStr += recurse(data[key]);
htmlRetStr += '</ul ></li >';
} else {
htmlRetStr += ("<li class='keyStr' ><strong>" + key + ': </strong>"' + data[key] + '"</li >');
}
};
htmlRetStr += '</ul >';
return(htmlRetStr);
}
</script>
</head><body>
<button onclick="process_test_json()" >Run process_test_json()</button>
<div id="out"></div>
<div id="outAsHtml"></div>
</body>
<!-- QUESTION: Maybe some one with more jquery experience
could convert this to a shorter/pure jquery method -->
Я не думал о рекурсии. Благодарю. – InbetweenWeekends
Использование jQuery jPut plugin. Просто создайте html-шаблон &, назовите свой json-файл. Вы также можете вызвать АЯКС файл через jPut (ajax_url)
http://plugins.jquery.com/jput/
<script>
$(document).ready(function(){
var json = [{"name": "item1","link":"link1"},{"name": "item2","link":"link2"}];
//jPut code
$("#menu").jPut({
jsonData:json,
name:"template",
});
});
</script>
<body>
<!-- jput template, the li that you want to append to ul-->
<div jput="template">
<li><a href="http://yourdomain.com/{{link}}">{{name}}</a></li>
</div>
<!-- your main ul -->
<ul id="menu">
</ul>
</body>
'jput' не является допустимым атрибутом. – Benio
@Benio Добавьте jput.js в свой HTML. – shabeer
'jput', как показано в примере кода, не является допустимым атрибутом. Если вы хотите использовать пользовательский атрибут, вы должны использовать [атрибут пользовательских данных] (https://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the- data - * - attributes), например 'data-jput', в противном случае это недействительный код HTML. – Benio
- 1. JQuery JSON преобразования массива
- 2. Список для преобразования массива
- 3. Использование Дооснащение для преобразования в массив объектов JSON в список
- 4. Json для преобразования списка массива
- 5. Использование JSON для преобразования массива из C# в Javascript
- 6. Json Объекты для Валида Json массива Преобразования
- 7. Использование GroupBy в список преобразования для отображения
- 8. Ошибка преобразования массива в список массива
- 9. преобразования массива в объект JSON
- 10. Использование JavaScriptSerializer для преобразования Json в Xml
- 11. использование части JSON массива в JQuery
- 12. Сериализующий список для массива JSON
- 13. Список для преобразования JavaScript формата JSON
- 14. Использование LINQ для преобразования объекта массива [,] для массива
- 15. преобразования JSON массив яваскрипт массива
- 16. преобразования массива в объект JSON в PHP
- 17. Объект для преобразования массива
- 18. алгоритм для преобразования JSON
- 19. Использование массива JSON в PHP
- 20. JQuery JSON для многомерного массива
- 21. преобразования многомерного Numpy массива в список строки
- 22. ява список преобразования объекта массива в POJO
- 23. Преобразования многомерного массива объекта в JSON
- 24. преобразования JSON в C# список объектов
- 25. преобразования Java список DTO в объект JSON
- 26. список из массива JSon
- 27. Использование JQuery для преобразования DateTime URL Parameter
- 28. Использование массива в JQuery
- 29. JQuery Использование данных ячейки для преобразования ячеек
- 30. Использование массива в JQuery
Вы можете добавить пример вашей структуры JSON? – wajiw
http://api.jquery.com/jQuery.getJSON/ – switz
@Switz, getJSON - вот как я получу данные - не понятно, как преобразовать один из массивов в список –