js,使 JSON 对象成为字符串 - 简单的方法



我已经尝试了很多不同的方法,并使用许多不同的PHP和JS函数来尝试实现这一目标。锄头我转动这个 json 对象;

"lines" :   ["text line 1<br/>","text line 2<br/>","text line 3<br/>","text line 4<br/>"]

放入此字符串中,以便我可以添加到 HTMldiv

text line 1<br/> text line 2<br/> text line 3<br/> text line 4<br/>

不,引号,括号或其他任何东西。

在最简单的形式中,我所拥有的只是字符串化;

lines = JSON.stringify(obj.lines)

但上面的输出、括号、引号和逗

对不起,如果这是一个简单而愚蠢的问题,但我h(现在完成(尴尬!((ave到处寻找简单的答案。没有什么突出的。

查看 Array.join:

var html = obj.lines.join("");

示例:http://jsfiddle.net/VXbs7/

有一个 JSON 字符串。您需要将其解析为数据结构,然后获取字符串数组,并遍历它们(随心所欲地输出(。

如果你从javascript中做到这一点,这很容易。 JSON是JavaScript的原生版本,可以非常简单地解释为一个对象。 不过,看起来您的问题中只粘贴了一半的 JSON 对象。 整个 JSON 对象包装在 []{} 中(除非它只是一个字符串或数字类型,但它不是一个对象(。

无论如何,如果你在PHP中 - 你可以很容易地json_decode()这个字符串并像这样循环它:

<?php
$arr = json_decode($json_string, true); //true makes it an array instead of object
foreach ($arr['lines'] as $line)
{
    echo $line;
}

如果你试图在javascript中完成它(在浏览器中(,它也很容易(假设你的字符串存储在php变量中,并且你正在使用jquery进行dom操作(

<script type="text/javascript">
var obj = <?= $json_string; ?>,
    mydiv = $('#mydiv);
for (key in obj['lines'])
{
    var line = obj['lines'][key];
    mydiv.append(line);
}
</script>

这两者都应该为您提供所需的输出

最新更新