JavaScript - JSON裡的字串(String)

曾經夢想過,有一天有人可以統一程式世界,現實社會不可能,在虛擬世界也不可能。以上這段話的意思是說,如果我們只要會一種程式語言,就能寫任何平台的程式,那不知道有多好?程式設計人員,應該是全世界最了不起的語言使用者,從Client端到Server端,無一不需要了解,現實社會裡,如果你認識一位會六國語言的人(我真的認識一位女生),你會認為他是超人,但在虛擬的程式世界裡,六種語言,如果連HTML, XHTML…都細分的話,六種可能只是肉腳級。

以上是看到「JSON之教學筆記」第一位讀者留言的感想。回主題,JSON裡的字串(String)。因為讀者抓出錯誤,我測試後也真正是錯的。

JSON官方裡有一句話:a string in double quotes…就已經點出我的錯誤,只是寫文章時瀏覽過去,也沒特別注意,而各位讀者也沒多去驗證,真是你我的不應該。

// 正確版:感謝"匿名"讀者提供
var jsonData = '{"familys" : [{"name" : "Bruce", "age" : 18, "sex" : "male"}, {"name" : "Sherry","age" : 16, "sex" : "famale"}]}';

// 不正確版: KKBruce 提供
var jsonData = "{'familys'=[{'name' : 'Bruce', 'age' : 18, 'sex' : 'male'}, {'name' : 'Sherry','age' : 16, 'sex' : 'famale'}]}";

原文不修正,以回頭參考文章時,自我提醒。

1 則留言:

  1. 您好,
    小妹最近被json雨mysql間傳命令給弄亂了
    想要請問一下:
    這是我的java代碼:
    //將指定資料變數寫入至json中運作
    TableLayout user_list = (TableLayout)findViewById(R.id.user_list);
    user_list.setStretchAllColumns(true);
    TableLayout.LayoutParams row_layout = new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    TableRow.LayoutParams view_layout = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    try {
    String result = DBConnector.executeQuery("SELECT*FROM user where zip = '中西區 '");

    //SELECT*FROM user where zip = '小港區'




    /*
    SQL 結果有多筆資料時使用JSONArray
    只有一筆資料時直接建立JSONObject物件
    JSONObject jsonData = new JSONObject(result);
    */
    JSONArray jsonArray = new JSONArray(result);
    for(int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonData = jsonArray.getJSONObject(i);
    TableRow tr = new TableRow(MainActivity.this);
    tr.setLayoutParams(row_layout);
    tr.setGravity(Gravity.CENTER_HORIZONTAL);

    TextView user_acc = new TextView(MainActivity.this);
    user_acc.setText(jsonData.getString("city"));
    user_acc.setLayoutParams(view_layout);

    我想要透過php作為中間媒介傳值給android端
    使用工具為eclipse
    可是現在卡再json不支持單引號
    我有將它改為 /" 但是一樣行不通ˊˋ
    想要請問版大有什麼解決方法嗎? 萬分感謝您!!

    回覆刪除

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。