从json字符串数据中提取值

时间:2014-01-17 04:58:26

标签: jquery html json

我有以下JSON Feed,它是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元素?

提前致谢。

5 个答案:

答案 0 :(得分:2)

你不能用这种错误的格式获取数据,你的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/

答案 1 :(得分:1)

使用jQuery .each()

$.each(data, function( index, value ) {
  alert( index + ": " + value );
});

More on jQuery .each()

答案 2 :(得分:1)

这是错误的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);
}

答案 3 :(得分:1)

json not validvar 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) }); 试试这个,

{{1}}

Working Demo

答案 4 :(得分:1)

您的JSON无效,请验证您的JSON HERE

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>"}
]';

您可以使用for循环从JSON获取元素并附加元素

for(var i = 0; i < json.length; i++) {
    $("div").append(json[i].str);
    console.log(json[i].str)
}

<强> LIVE EXAMPLE