私はjson形式の文字列を持っています。その内部の特定の項目を選択し、.innerHTMLを使って画面に出力したいと考えています。JSON.parse()がこの場合json文字列から情報を取得できないのはなぜですか?
JSON形式のmyDataという文字列があります。
文字列は、PHPを使用してmySQLデータベースから取得されます。私はアイテムを取得行う
と私はJSON形式
$faqs = $traerFaqs->fetchAll(PDO::FETCH_ASSOC);
$stringFaqs = json_encode($faqs);
を文字列に配列をエンコードそして私はアイテムの内側にそれを置く:
それらを得るために、私はこれを使用しますDOMに利用できるが、ビューから隠さ:
echo '<div id="hiloFaqs" style="display: none;">';
echo $stringFaqs;
echo '</div>';
?>
これは私が取得する文字列です:
[
{"faqID":"1","tituloFaq":"Como accedo al material del Curso?","cuerpoFaq":"
Lorem ipsum dolor sit amet.<\/p>"
},
{"faqID":"2","tituloFaq":"Como cancelo los pagos del Curso?","cuerpoFaq":"
At vero eos et accusam et justo duo.<\/p>"
},
{"faqID":"3","tituloFaq":"Que documentacinn debo entregar?","cuerpoFaq":"
Stet clita kasd gubergren, no sea takimata sanctus.<\/p>"
},
{
"faqID":"4","tituloFaq":"Por que estoy suspendido?","cuerpoFaq":"
Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.<\/p>"
},{
"faqID":"5","tituloFaq":"Por que estoy pendiente?","cuerpoFaq":"
Kasd gubergren, no sea takimata sanctus est.<\/p>"
}
]
今、私は特定のアイテムを手に入れようとしていますが、何らかの理由で私はできません。私はJSに新たなんだ は、ので、多分私はここに非常に愚かな何かを忘れている:
var faqs = document.getElementById("hiloFaqs");
var myData = faqs.textContent;
faq = JSON.parse(myData);
$('#output').append(faq[0]['tituloFaq']);
を、私はこのように、私のhtmlファイルの代わりに、出力を持っています:<span id="output"></span>
が、何もプリントアウトされなかっます。
すべきではないfaq[0]['tituloFaq']
私を入手してくださいComo accedo al material del Curso?が出力されますか?
私には何が欠けていますか?
なぜあなたはそれをHTMLにエコーしていますか?また、 'htmlspecialchars($ stringFaqs);'は、文字が有効なjson文字列を作らなくなるように修正しようとしています –
スクリプトタグに実際のjavascriptオブジェクトとしてエコーする方が簡単でしょうか? – adeneo
どうすればいいですか? – Rosamunda