2012-05-22 2 views
-1

Я пробовал много разных способов и использовал множество различных функций PHP и JS, чтобы попытаться достичь этого. Hoe, чтобы я превратил этот объект json;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) 

но выше выходов, скобки, кавычки и запятые

Извините, если это простой и глупый вопрос, но я ч (отделочные сейчас (смущен!)) Пр искал везде для простых ответов. Ничего не выделяется.

+3

Думаю, мы должны дать вам 5 минут, чтобы закончить ваш вопрос? ;) .... * Извините, если это простой и глупый вопрос, но я h ...................... * – Matt

+1

«но я очень люблю», –

+0

Нет объектов JSON. У вас есть массив. –

ответ

3

Заканчивать Array.join:

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

Пример:http://jsfiddle.net/VXbs7/

+0

Это также не будет разделять теги. – GodLesZ

+0

@GodLesZ: Это хорошо, так как это не то, о чем идет речь. – Eric

+0

Я думаю, что я пропустил вопрос, извините. – GodLesZ

0

Вы, , есть a JSON string. Вам нужно разобрать его в структуру данных, затем получить массив строк и перебрать их (выводить, как вы идете).

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> 

оба эти должны дать вам выход, который вы ищете

+0

OP также хочет разбить теги. «Нет, цитаты, скобки или что-то еще». – GodLesZ

+0

@GodLesZ: Нет, OP хочет сохранить теги. – Eric

+0

Как я понял (возможно, это было неправильно, я думаю, мы все можем согласиться с тем, что вопрос может быть сформулирован лучше), OP не понимал, как использовать строку JSON как массив или объект, и хотел избавиться от кавычки вокруг строк, квадратные скобки вокруг массива, запятые между элементами и т. д. Это заставило меня поверить, что он не понимал, как превратить строку в json object/php array, чтобы использовать ее ; поэтому - ответ (: –