0

私はこれに夢中になっています:

私はこのコードを持っていました:

var names = JSON.parse('<?php echo json_encode($names ); ?>');

$namesutf-8 コンテンツを含む配列はどこにありますか。

これはうまくいきましたが、$names配列に含まれているとエラーが発生'し始めました。unexpected token/charachter

私は次のようなさまざまなことをすべて試しました:

var names = JSON.parse('<?php echo 
json_encode(str_replace("'","\'",$names),JSON_HEX_APOS  | JSON_HEX_QUOT ); ?>');

また

var names = JSON.parse('<?php
 echo json_encode($names,JSON_HEX_APOS  | JSON_HEX_QUOT ); ?>');

そして、助けにはなりませんでした。エラーが発生しUncaught SyntaxError: Unexpected tokenます。

var names = JSON.parse('{"1":{"136":{"0":"135 \u05dc\u05dc\u05d0 
 \u05d4\u05d2\u05d1\u05dc\u05d4"},"75":{"0":"\u05d1\u05d5\u05e0\u05d5\u05e1 75"},"199":
  {"0":"\u05d1\u05d5\u05e0\u05d5\u05e1 199"},"5":{"0":"card bonus 5"},"30":
  {"0":"\u05e1\u05dc\u05e7\u05d5\u05dd \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea"},"40":{"0":"40
  \u05e2\u05e8\u05d1\u05d9\u05ea"}],"37":[{"0":"\u05d6\u05e8\u05d5 
 \u05d0\u05e0\u05d2\u05dc\u05d9\u05ea"}],"38":[{"0":"\u05d6\u05e8\u05d5 
 \u05e8\u05d5\u05e1\u05d9\u05ea"}],"39":
 [{"0":"\u05d6\u05e8\u05d5 \u05d8\u05d0\u05d9"}]}');

これは非常に長い文字列です。半分にカットしただけなので、構文が正しくないように見えるかもしれませんが、一般的な考え方です。

配列を解析するにはどうすればよいですか?

私はPHP 5.3を使用しているので、試すことができないJSON_UNESCAPED_SLASHESJSON_UNESCAPED_UNICODE、それが関連しているかどうか。

4

1 に答える 1

3

有効な JSON は有効な JavaScript です。あなたは簡単に書くことができます:

var names = <?php echo json_encode($names ); ?>;

UTF-8 文字に関しては、次のテストがあります。

<script>
alert(<?php echo json_encode("\xE2\x82\xAC"); ?>); // should alert €
</script>
于 2013-01-21T12:38:38.813 に答える