JSON 資料格式介紹

來源:互聯網
上載者:User

1,基礎
這篇文章講的比較深入,所以不用我畫蛇添足了,只是下面這段代碼很好的示範了JSON如何處理字串資料,儲存下來備查:
zt from:https://www.ibm.com/developerworks/cn/web/wa-lo-json/
將 String 對象編碼為 JSON 格式時,只需處理好特殊字元即可。另外,必須用 (") 而非 (') 表示字串:
複製代碼 代碼如下:
static String string2Json(String s) {
StringBuilder sb = new StringBuilder(s.length()+20);
sb.append('\"');
for (int i=0; i<s.length(); i++) {
char c = s.charAt(i);
switch (c) {
case '\"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '/':
sb.append("\\/");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
default:
sb.append(c);
}
}
sb.append('\"');
return sb.toString();
}

2,在PHP中的應用。
PHP中使用json_encode和json_decode來進行JSON封裝和拆裝。
封裝string類型資料:json_encode在輸出結果中,會在源字串兩端加上("),如對象內容是(abc),結果是("abc”)
封裝stdClass物件類型資料:比如有個"value”成員內容是字串,結果是:{"value":"\u5e7f\u4e1c\u4f53\u80b2,CCTV5"}
3,為什麼要寫這個。
ZenTaoPHP架構中,請求類型如果是“json”,輸出結果會以JSON格式封裝,但在對輸出資訊進行分析時,發現並非標準的JSON格式。
深究後,發現ZenTaoPHP對一部分資料進行了二次JSON封裝,輸出類似:"{\"value\":\"\\u5e7f\\u4e1c\\u4f53\"}" 這樣的結果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.