📄 json 入门指南_学z-one.mht
字号:
postcode:100025=A3=A8=D5=FB=CA=FD=A3=A9</PRE></TD></TR></TBODY></TABLE><B=
R>
<P>=D3=C3 JSON =B1=ED=CA=BE=C8=E7=CF=C2=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>{"city":"Beijing","street":" Chaoyang Road =
","postcode":100025}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=C6=E4=D6=D0 Value =D2=B2=BF=C9=D2=D4=CA=C7=C1=ED=D2=BB=B8=F6 =
Object =
=BB=F2=D5=DF=CA=FD=D7=E9=A3=AC=D2=F2=B4=CB=A3=AC=B8=B4=D4=D3=B5=C4 =
Object =
=BF=C9=D2=D4=C7=B6=CC=D7=B1=ED=CA=BE=A3=AC=C0=FD=C8=E7=A3=AC=D2=BB=B8=F6 =
Person =B6=D4=CF=F3=B0=FC=BA=AC=20
name =BA=CD address =
=B6=D4=CF=F3=A3=AC=BF=C9=D2=D4=B1=ED=CA=BE=C8=E7=CF=C2=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>{"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
}</PRE></TD></TR></TBODY></TABLE><BR>
<P><A name=3DN1010D><SPAN class=3Datitle>JavaScript =B4=A6=C0=ED =
JSON =CA=FD=BE=DD </SPAN></A></P>
<P>=C9=CF=C3=E6=BD=E9=C9=DC=C1=CB=C8=E7=BA=CE=D3=C3 JSON =
=B1=ED=CA=BE=CA=FD=BE=DD=A3=AC=BD=D3=CF=C2=C0=B4=A3=AC=CE=D2=C3=C7=BB=B9=D2=
=AA=BD=E2=BE=F6=C8=E7=BA=CE=D4=DA=B7=FE=CE=F1=C6=F7=B6=CB=C9=FA=B3=C9 =
JSON =
=B8=F1=CA=BD=B5=C4=CA=FD=BE=DD=D2=D4=B1=E3=B7=A2=CB=CD=B5=BD=BF=CD=BB=A7=B6=
=CB=A3=AC=D2=D4=BC=B0=BF=CD=BB=A7=B6=CB=C8=E7=BA=CE=CA=B9=D3=C3=20
JavaScript =B4=A6=C0=ED JSON =
=B8=F1=CA=BD=B5=C4=CA=FD=BE=DD=A1=A3</P>
<P>=CE=D2=C3=C7=CF=C8=CC=D6=C2=DB=C8=E7=BA=CE=D4=DA Web =
=D2=B3=C3=E6=D6=D0=D3=C3 JavaScript =B4=A6=C0=ED JSON =
=CA=FD=BE=DD=A1=A3=CE=D2=C3=C7=CD=A8=B9=FD=D2=BB=B8=F6=BC=F2=B5=A5=B5=C4 =
JavaScript=20
=
=B7=BD=B7=A8=BE=CD=C4=DC=BF=B4=B5=BD=BF=CD=BB=A7=B6=CB=C8=E7=BA=CE=BD=AB =
JSON =CA=FD=BE=DD=B1=ED=CA=BE=B8=F8=D3=C3=BB=A7=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>function =
handleJson() {=20
var j=3D{"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
};=20
document.write(j.name);=20
document.write(j.address.city);=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=BC=D9=B6=A8=B7=FE=CE=F1=C6=F7=B7=B5=BB=D8=B5=C4 JSON =
=CA=FD=BE=DD=CA=C7=C9=CF=CE=C4=B5=C4=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>{"name":"Michael","address":
{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=D6=BB=D0=E8=BD=AB=C6=E4=B8=B3=D6=B5=B8=F8=D2=BB=B8=F6 =
JavaScript =
=B1=E4=C1=BF=A3=AC=BE=CD=BF=C9=D2=D4=C1=A2=BF=CC=CA=B9=D3=C3=B8=C3=B1=E4=C1=
=BF=B2=A2=B8=FC=D0=C2=D2=B3=C3=E6=D6=D0=B5=C4=D0=C5=CF=A2=C1=CB=A3=AC=CF=E0=
=B1=C8 XML =D0=E8=D2=AA=B4=D3 DOM=20
=D6=D0=B6=C1=C8=A1=B8=F7=D6=D6=BD=DA=B5=E3=B6=F8=D1=D4=A3=ACJSON =
=B5=C4=CA=B9=D3=C3=B7=C7=B3=A3=C8=DD=D2=D7=A1=A3=CE=D2=C3=C7=D0=E8=D2=AA=D7=
=F6=B5=C4=BD=F6=BD=F6=CA=C7=B7=A2=CB=CD=D2=BB=B8=F6 Ajax =
=C7=EB=C7=F3=A3=AC=C8=BB=BA=F3=BD=AB=B7=FE=CE=F1=C6=F7=B7=B5=BB=D8=B5=C4 =
JSON=20
=
=CA=FD=BE=DD=B8=B3=D6=B5=B8=F8=D2=BB=B8=F6=B1=E4=C1=BF=BC=B4=BF=C9=A1=A3=D3=
=D0=D0=ED=B6=E0 Ajax =
=BF=F2=BC=DC=D4=E7=D2=D1=B0=FC=BA=AC=C1=CB=B4=A6=C0=ED JSON =
=CA=FD=BE=DD=B5=C4=C4=DC=C1=A6=A3=AC=C0=FD=C8=E7 =
Prototype=A3=A8=D2=BB=B8=F6=C1=F7=D0=D0=B5=C4 JavaScript=20
=BF=E2=A3=BAhttp://prototypejs.org=A3=A9=CC=E1=B9=A9=C1=CB =
<CODE><FONT face=3D=D0=C2=CB=CE=CC=E5>evalJSON()</FONT></CODE>=20
=
=B7=BD=B7=A8=A3=AC=C4=DC=D6=B1=BD=D3=BD=AB=B7=FE=CE=F1=C6=F7=B7=B5=BB=D8=B5=
=C4 JSON =CE=C4=B1=BE=B1=E4=B3=C9=D2=BB=B8=F6 JavaScript =
=B1=E4=C1=BF=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>new =
Ajax.Request("http://url", {=20
method: "get",=20
onSuccess: function(transport) {=20
var json =3D transport.responseText.evalJSON();=20
// TODO: document.write(json.xxx);=20
}=20
});</PRE></TD></TR></TBODY></TABLE><BR>
<P><A name=3DN1012F><SPAN =
class=3Datitle>=B7=FE=CE=F1=C6=F7=B6=CB=CA=E4=B3=F6 JSON =
=B8=F1=CA=BD=CA=FD=BE=DD </SPAN></A></P>
=
<P>=CF=C2=C3=E6=CE=D2=C3=C7=CC=D6=C2=DB=C8=E7=BA=CE=D4=DA=B7=FE=CE=F1=C6=F7=
=B6=CB=CA=E4=B3=F6 JSON =B8=F1=CA=BD=B5=C4=CA=FD=BE=DD=A1=A3=D2=D4 Java =
=CE=AA=C0=FD=A3=AC=CE=D2=C3=C7=BD=AB=D1=DD=CA=BE=BD=AB=D2=BB=B8=F6 Java =
=B6=D4=CF=F3=B1=E0=C2=EB=CE=AA JSON=20
=B8=F1=CA=BD=B5=C4=CE=C4=B1=BE=A1=A3</P>
<P>=BD=AB String =B6=D4=CF=F3=B1=E0=C2=EB=CE=AA JSON =
=B8=F1=CA=BD=CA=B1=A3=AC=D6=BB=D0=E8=B4=A6=C0=ED=BA=C3=CC=D8=CA=E2=D7=D6=B7=
=FB=BC=B4=BF=C9=A1=A3=C1=ED=CD=E2=A3=AC=B1=D8=D0=EB=D3=C3 (<CODE><FONT=20
face=3D=D0=C2=CB=CE=CC=E5>"</FONT></CODE>) =B6=F8=B7=C7 =
(<CODE><FONT face=3D=D0=C2=CB=CE=CC=E5>'</FONT></CODE>)=20
=B1=ED=CA=BE=D7=D6=B7=FB=B4=AE=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>static =
String string2Json(String s) {=20
StringBuilder sb =3D new StringBuilder(s.length()+20);=20
sb.append('\"');=20
for (int i=3D0; i<s.length(); i++) {=20
char c =3D s.charAt(i);=20
switch (c) {=20
case '\"':=20
sb.append("\\\"");=20
break;=20
case '\\':=20
sb.append("\\\\");=20
break;=20
case '/':=20
sb.append("\\/");=20
break;=20
case '\b':=20
sb.append("\\b");=20
break;=20
case '\f':=20
sb.append("\\f");=20
break;=20
case '\n':=20
sb.append("\\n");=20
break;=20
case '\r':=20
sb.append("\\r");=20
break;=20
case '\t':=20
sb.append("\\t");=20
break;=20
default:=20
sb.append(c);=20
}=20
}=20
sb.append('\"');=20
return sb.toString();=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=BD=AB Number =B1=ED=CA=BE=CE=AA JSON =
=BE=CD=C8=DD=D2=D7=B5=C3=B6=E0=A3=AC=C0=FB=D3=C3 Java =
=B5=C4=B6=E0=CC=AC=A3=AC=CE=D2=C3=C7=BF=C9=D2=D4=B4=A6=C0=ED =
Integer=A3=ACLong=A3=ACFloat =B5=C8=B6=E0=D6=D6=20
Number =B8=F1=CA=BD=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>static =
String number2Json(Number number) {=20
return number.toString();=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>Boolean =C0=E0=D0=CD=D2=B2=BF=C9=D2=D4=D6=B1=BD=D3=CD=A8=B9=FD =
<CODE><FONT face=3D=D0=C2=CB=CE=CC=E5>toString()</FONT></CODE> =
=B7=BD=B7=A8=B5=C3=B5=BD=20
JSON =B5=C4=B1=ED=CA=BE=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>static =
String boolean2Json(Boolean bool) {=20
return bool.toString();=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=D2=AA=BD=AB=CA=FD=D7=E9=B1=E0=C2=EB=CE=AA JSON =
=B8=F1=CA=BD=A3=AC=BF=C9=D2=D4=CD=A8=B9=FD=D1=AD=BB=B7=BD=AB=C3=BF=D2=BB=B8=
=F6=D4=AA=CB=D8=B1=E0=C2=EB=B3=F6=C0=B4=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>static =
String array2Json(Object[] array) {=20
if (array.length=3D=3D0)=20
return "[]";=20
StringBuilder sb =3D new StringBuilder(array.length << 4);=20
sb.append('[');=20
for (Object o : array) {=20
sb.append(toJson(o));=20
sb.append(',');=20
}=20
// =BD=AB=D7=EE=BA=F3=CC=ED=BC=D3=B5=C4 ',' =B1=E4=CE=AA ']':=20
sb.setCharAt(sb.length()-1, ']');=20
return sb.toString();=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=D7=EE=BA=F3=A3=AC=CE=D2=C3=C7=D0=E8=D2=AA=BD=AB <CODE><FONT =
face=3D=D0=C2=CB=CE=CC=E5>Map<String, Object></FONT></CODE>=20
=B1=E0=C2=EB=CE=AA JSON =B8=F1=CA=BD=A3=AC=D2=F2=CE=AA JavaScript =
=B5=C4 Object =CA=B5=BC=CA=C9=CF=B6=D4=D3=A6=B5=C4=CA=C7 Java =B5=C4 =
<CODE><FONT=20
face=3D=D0=C2=CB=CE=CC=E5>Map<String, Object> =
</FONT></CODE>=A1=A3=B8=C3=B7=BD=B7=A8=C8=E7=CF=C2=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>static =
String map2Json(Map<String, Object> map) {=20
if (map.isEmpty())=20
return "{}";=20
StringBuilder sb =3D new StringBuilder(map.size() << 4);=20
sb.append('{');=20
Set<String> keys =3D map.keySet();=20
for (String key : keys) {=20
Object value =3D map.get(key);=20
sb.append('\"');=20
sb.append(key);=20
sb.append('\"');=20
sb.append(':');=20
sb.append(toJson(value));=20
sb.append(',');=20
}=20
// =BD=AB=D7=EE=BA=F3=B5=C4 ',' =B1=E4=CE=AA '}':=20
sb.setCharAt(sb.length()-1, '}');=20
return sb.toString();=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=CE=AA=C1=CB=CD=B3=D2=BB=B4=A6=C0=ED=C8=CE=D2=E2=B5=C4 Java =
=B6=D4=CF=F3=A3=AC=CE=D2=C3=C7=B1=E0=D0=B4=D2=BB=B8=F6=C8=EB=BF=DA=B7=BD=B7=
=A8 <CODE><FONT=20
=
face=3D=D0=C2=CB=CE=CC=E5>toJson(Object)</FONT></CODE>=A3=AC=C4=DC=B9=BB=BD=
=AB=C8=CE=D2=E2=B5=C4 Java =B6=D4=CF=F3=B1=E0=C2=EB=CE=AA JSON =
=B8=F1=CA=BD=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE class=3Ddisplaycode>public =
static String toJson(Object o) {=20
if (o=3D=3Dnull)=20
return "null";=20
if (o instanceof String)=20
return string2Json((String)o);=20
if (o instanceof Boolean)=20
return boolean2Json((Boolean)o);=20
if (o instanceof Number)=20
return number2Json((Number)o);=20
if (o instanceof Map)=20
return map2Json((Map<String, Object>)o);=20
if (o instanceof Object[])=20
return array2Json((Object[])o);=20
throw new RuntimeException("Unsupported type: " + =
o.getClass().getName());=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=CE=D2=C3=C7=B2=A2=CE=B4=B6=D4 Java =
=B6=D4=CF=F3=D7=F7=D1=CF=B8=F1=B5=C4=BC=EC=B2=E9=A1=A3=B2=BB=B1=BB=D6=A7=B3=
=D6=B5=C4=B6=D4=CF=F3=A3=A8=C0=FD=C8=E7 =
List=A3=A9=BD=AB=D6=B1=BD=D3=C5=D7=B3=F6 RuntimeException =
=A1=A3=B4=CB=CD=E2=A3=AC=CE=AA=C1=CB=B1=A3=D6=A4=CA=E4=B3=F6=B5=C4=20
JSON =CA=C7=D3=D0=D0=A7=B5=C4=A3=AC<CODE><FONT =
face=3D=D0=C2=CB=CE=CC=E5>Map<String, Object></FONT></CODE> =
=B6=D4=CF=F3=B5=C4=20
Key =
=D2=B2=B2=BB=C4=DC=B0=FC=BA=AC=CC=D8=CA=E2=D7=D6=B7=FB=A1=A3=CF=B8=D0=C4=B5=
=C4=B6=C1=D5=DF=BF=C9=C4=DC=BB=B9=BB=E1=B7=A2=CF=D6=D1=AD=BB=B7=D2=FD=D3=C3=
=B5=C4=B6=D4=CF=F3=BB=E1=D2=FD=B7=A2=CE=DE=CF=DE=B5=DD=B9=E9=A3=AC=C0=FD=C8=
=E7=A3=AC=BE=AB=D0=C4=B9=B9=D4=EC=D2=BB=B8=F6=D1=AD=BB=B7=D2=FD=D3=C3=B5=C4=
Map=A3=AC=BE=CD=BF=C9=D2=D4=BC=EC=B2=E2=B5=BD=20
<CODE><FONT =
face=3D=D0=C2=CB=CE=CC=E5>StackOverflowException</FONT></CODE>=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>@Test(expected=3DStackOverflowError.class)=20
public void testRecurrsiveMap2Json() {=20
Map<String, Object> map =3D new HashMap<String, =
Object>();=20
map.put("key", map);=20
JsonUtil.map2Json(map);=20
}</PRE></TD></TR></TBODY></TABLE><BR>
<P>=BA=C3=D4=DA=B7=FE=CE=F1=C6=F7=B4=A6=C0=ED=B5=C4 JSON =
=CA=FD=BE=DD=D7=EE=D6=D5=B6=BC=D3=A6=B8=C3=D7=AA=BB=AF=CE=AA=BC=F2=B5=A5=B5=
=C4 JavaScript =
=B6=D4=CF=F3=A3=AC=D2=F2=B4=CB=A3=AC=B5=DD=B9=E9=D2=FD=D3=C3=B5=C4=BF=C9=C4=
=DC=D0=D4=BA=DC=D0=A1=A1=A3</P>
<P>=D7=EE=BA=F3=A3=AC=CD=A8=B9=FD Servlet =BB=F2 MVC =
=BF=F2=BC=DC=CA=E4=B3=F6 JSON =
=CA=B1=A3=AC=D0=E8=D2=AA=C9=E8=D6=C3=D5=FD=C8=B7=B5=C4 MIME=20
=
=C0=E0=D0=CD=A3=A8application/json=A3=A9=BA=CD=D7=D6=B7=FB=B1=E0=C2=EB=A1=
=A3=BC=D9=B6=A8=B7=FE=CE=F1=C6=F7=CA=B9=D3=C3 UTF-8 =
=B1=E0=C2=EB=A3=AC=D4=F2=BF=C9=D2=D4=CA=B9=D3=C3=D2=D4=CF=C2=B4=FA=C2=EB=CA=
=E4=B3=F6=B1=E0=C2=EB=BA=F3=B5=C4 JSON =CE=C4=B1=BE=A3=BA</P>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD class=3Dcode-outline><PRE =
class=3Ddisplaycode>response.setContentType("application/json;charset=3DU=
TF-8");=20
response.setCharacterEncoding("UTF-8");=20
PrintWriter pw =3D response.getWriter();=20
pw.write(JsonUtil.toJson(obj));=20
pw.flush();</PRE></TD></TR></TBODY></TABLE><BR>
<P><A name=3DN10193><SPAN class=3Datitle>=D0=A1=BD=E1 =
</SPAN></A></P>
<P>JSON =D2=D1=BE=AD=CA=C7 JavaScript =
=B1=EA=D7=BC=B5=C4=D2=BB=B2=BF=B7=D6=A1=A3=C4=BF=C7=B0=A3=AC=D6=F7=C1=F7=B5=
=C4=E4=AF=C0=C0=C6=F7=B6=D4 JSON =
=D6=A7=B3=D6=B6=BC=B7=C7=B3=A3=CD=EA=C9=C6=A1=A3=D3=A6=D3=C3 =
JSON=A3=AC=CE=D2=C3=C7=BF=C9=D2=D4=B4=D3 XML=20
=
=B5=C4=BD=E2=CE=F6=D6=D0=B0=DA=CD=D1=B3=F6=C0=B4=A3=AC=B6=D4=C4=C7=D0=A9=D3=
=A6=D3=C3 Ajax =B5=C4 Web 2.0 =CD=F8=D5=BE=C0=B4=CB=B5=A3=ACJSON =
=C8=B7=CA=B5=CA=C7=C4=BF=C7=B0=D7=EE=C1=E9=BB=EE=B5=C4=C7=E1=C1=BF=BC=B6=B7=
=BD=B0=B8=A1=A3</P>
<P><SPAN class=3Datitle><A =
name=3Ddownload>=CF=C2=D4=D8</A></SPAN></P>
<P>
<TABLE class=3Ddata-table-1 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
border=3D0>
<TBODY>
<TR>
<TH scope=3Dcol>=C3=E8=CA=F6</TH>
<TH scope=3Dcol>=C3=FB=D7=D6</TH>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -