![](/img/trans.png)
[英]Easy way (with out eval) to turn a passed string into an object refereance in JS?
[英]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)
但以上输出,方括号,引号和逗号
很抱歉,如果这是一个简单而愚蠢的问题,但我(到现在为止(尴尬!))在各处搜索了一个简单的答案。 没有什么能脱颖而出。
您有一个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.