簡體   English   中英

如何更改JSON輸出格式以及如何支持中文字符?

[英]How to change the JSON output format and how to support chinese character?

目前我使用以下代碼從MySQL獲取我的JSON輸出。

<?php


$session = mysql_connect('localhost','name','pass'); 

mysql_select_db('dbname', $session); 


    $result= mysql_query('SELECT message FROM posts', $session); 
 $somethings = array();  
 while ($row = mysql_fetch_assoc($result)) {  
    $somethings[] = $row; 
 } 

?> 

<script type="text/javascript"> 
    var somethings= <?php echo json_encode($somethings); ?>; 
</script> 

輸出是:

<script type="text/javascript"> 
    var somethings= [{"message":"Welcome to Yo~ :)"},{"message":"Try iPhone post!"},{"message":"????" (the ???? meant to be chinese character)}]; 
</script>

這是一個問題,如何將輸出更改為以下格式:

<script type="text/javascript"> 
userAge = new Array('21','36','20'),
userMid = new Array('liuple','anhu','jacksen');
</script>

我稍后將使用以下代碼:

 var html = '
<table class="map-overlay">
  <tr>
    <td class="user">' +
      '<a class="username" href="/' + **userMid[index]** + '" target="_blank"><img alt="" src="' +
        getAvatar(signImgList[index], '72x72') +
        '"></a><br>
      <a class="username" href="/' + **userMid[index]** + '" target="_blank">' +
      userNameList[index] +
      '</a><br>
      <span class="info">' + **userSex[index]** + ' ' + **userAge[index]** + '歲<br>
      ' +
      cityList[index] +
      '</span>' +
      '</td>
    <td class="content">' + picString
      + somethings[index] + '<br>
      <span class="time">' +
      timeList[index] + picTips +
      '</span></td>
  </tr>
</table>
'; 

另外我的json輸出如何支持中文字符?

感謝您的幫助和閱讀!

最好猜測你的問題:

如何更改此JSON格式:

[{ key : "Value", key2 : "Value2" }, { key : "Another Value", key2 : "Another Value2" }]

對於這種格式:

var Keys = ["Value", "Another Value"];
var Key2s = ["Value2", "Another Value2"];

答案是:你不應該。 JSON是一種很好的數據格式,它是獨立的。 如果您將JSON對象的鍵通常更改為變量,那么您的“數據格式”將極大地依賴於它將被使用的位置。 變量名稱沖突幾乎得到保證。 這也沒有優勢,JSON對象中的數據已經很容易訪問。

更新:您可以通過循環結果,將它們放入數組並打印出Javascript代碼來輕松構建此格式,這並不困難。 盡管如此我不打算在這里發布代碼,因為這是一種可怕的做法。 相反,您只需稍微更改將使用此數據的代碼:

// old
var html = '...' + key[index] + '...' +key2[index] + '...';

// new
var html = '...' + data[index].key + '...' + data[index].key2 + '...';

至於中文字符,Javascript / JSON本質上是UTF8,因此它對漢字沒有任何問題。 當您將它們打包為JSON時,只需確保您的字符是UTF8編碼的。

我不能不建議你使用更優雅的解決方案? 你有沒有想過使用ajax?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM