js,使一个json对象成为一个字符串 - 简单的方法?

时间:2012-05-22 12:26:32

标签: javascript json string

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

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

进入此字符串,以便我可以添加到HTMl div

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

不,引号,括号或其他任何内容。

我用的最简单的形式是stringify;

lines = JSON.stringify(obj.lines)

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

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

3 个答案:

答案 0 :(得分:3)

结帐Array.join

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

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

答案 1 :(得分:0)

拥有 JSON字符串。你需要解析它到一个数据结构,然后获取字符串数组,并循环它们(随你输出)。

答案 2 :(得分:0)

如果您是通过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>

这两个应该为您提供您正在寻找的输出