繁体   English   中英

js,将json对象设为字符串-简单方法?

[英]js, make a json object a string - the easy way?

我尝试了许多不同的方法,并使用许多不同的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/>

不可以,引号,方括号或其他内容。

我所拥有的最简单的形式是字符串化。

lines = JSON.stringify(obj.lines)

但以上输出,方括号,引号和逗号

很抱歉,如果这是一个简单而愚蠢的问题,但我(到现在为止(尴尬!))在各处搜索了一个简单的答案。 没有什么能脱颖而出。

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>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM