У меня есть следующий JSON-канал, который является типом данных String.
"[
{
"str": "<ul><li>Item1<li><li>Item2<li><li>Item3<li><ul>"
}
][
{
"str": "<ul><li>Teacher Account<li><li>Student Account<li><ul>"
}
][
{
"str": "<ul><li>Corporate<li><li>Accounts<li><ul>"
}
]"
Как я могу получить значения, чтобы я мог добавить элемент html?
Заранее спасибо.
вы не можете получать данные с этим неправильным форматом, ваш формат данных JSON должен выглядеть следующим образом:
[
{"str":"<ul><li>Item1</li><li>Item2</li><li>Item3</li></ul>"},
{"str":"<ul><li>Teacher Account</li><li>Student Account</li></ul>"},
{"str":"<ul><li>Corporate</li><li>Accounts</li></ul>"}
];
затем используйте
$.each( data, function(i, d){
console.log(d.str);
});
Еще одна вещь, я заметил, что в вашей части HTML, которая также не в правильном формате, вам просто нужно подготовить свои данные json в правильном формате. вы пропустили, чтобы закрыть </li>
и </ul>
;
вот рабочая демонстрация http://jsfiddle.net/jogesh_pi/tN8AP/
ваш JSON недействителен, подтвердите свой JSON ЗДЕСЬ
var a = '[
{"str": "<ul><li>Item1<li><li>Item2<li><li>Item3<li><ul>"},
{"str": "<ul><li>Teacher Account<li><li>Student Account<li><ul>"},
{"str": "<ul><li>Corporate<li><li>Accounts<li><ul>"}
]';
Вы можете использовать для цикла для извлечения элементов из JSON и добавления элементов
for(var i = 0; i < json.length; i++) {
$("div").append(json[i].str);
console.log(json[i].str)
}
Ваш json
not valid
попробуйте это,
var json=[{"str": "<ul><li>Item1<li><li>Item2<li><li>Item3<li><ul>"},{"str": "<ul><li>Teacher Account<li><li>Student Account<li><ul>"},{"str": "<ul><li>Corporate<li><li>Accounts<li><ul>"}];
$.each(json, function( i, v ) {
console.log(v.str)
});
Использовать jQuery .each()
$.each(data, function( index, value ) {
alert( index + ": " + value );
});
это неправильно Строка строки JSON должна быть такой:
var strJson = '[
{"str": "<ul><li>Item1<li><li>Item2<li><li>Item3<li><ul>"},
{"str": "<ul><li>Teacher Account<li><li>Student Account<li><ul>"},
{"str": "<ul><li>Corporate<li><li>Accounts<li><ul>"}
]'
и для доступа к этой строке вы можете попробовать этот код.
var objJson = JSON.parse(strJson);
for(var index=0; index<objJson.length; index++) {
alert(objJson[index].str);
}