📄 json-web开发之旅—站在山脚下【续 6】_峰林泉.mht
字号:
mso-bidi-font-size: 12.0pt">class=20
MyBean {<BR>private String name=3D"zhangfeng";<BR>private String=20
sex=3D"male";<BR>private BigDecimal age=3D new =
BigDecimal(27);<BR>public=20
String getName() {<BR> return name;<BR>}<BR>public =
void=20
setName(String name) {<BR> this.name =3D =
name;<BR>}<BR>public=20
String getSex() {<BR> return sex;<BR>}<BR>public void=20
setSex(String sex) {<BR> this.sex =3D =
sex;<BR>}<BR><BR>public=20
BigDecimal getAge() {<BR> return age;<BR>}<BR>public =
void=20
setAge(BigDecimal age) {<BR> this.age =3D=20
age;<BR>}<BR>}</SPAN></SPAN></P><SPAN><SPAN=20
style=3D"FONT-SIZE: 10.5pt; mso-font-kerning: 1.0pt; =
mso-bidi-font-size: 12.0pt">
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt"><SPAN>=C0=E0</SPAN><SPAN=20
style=3D"FONT-SIZE: 10pt; BACKGROUND: silver; COLOR: black; =
mso-font-kerning: 0pt; mso-highlight: silver">TestMain</SPAN><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: black; mso-font-kerning: =
0pt">=A3=BA<BR></SPAN><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: black; mso-font-kerning: =
0pt">package=20
twolf.test;<BR></SPAN><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: black; mso-font-kerning: =
0pt">import=20
java.util.HashMap;<BR>import java.util.Map;<BR></SPAN><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: black; mso-font-kerning: =
0pt">import=20
net.sf.json.JSONArray;<BR>import =
net.sf.json.JSONObject;</SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: black; mso-font-kerning: =
0pt"><BR>public=20
class TestMain {<BR>public static void main(String[] args)=20
{<BR> JSONObject jsonObject;<BR> JSONArray =
jsonArr;<BR> <BR> System.out.println(" =
.....json=20
from map.... "); <BR> =
Map<String,Object> map=20
=3D new HashMap<String, Object>(); <BR> map.put( =
"name",=20
"json" ); <BR> map.put( "bool", Boolean.TRUE );=20
<BR> map.put( "int", new Integer(1) ); =
<BR> =20
map.put( "arr", new String[]{"a","b"} ); <BR> map.put( =
"func",=20
"function(i){ return this.arr[i]; }" ); <BR> =20
<BR> jsonObject =3D JSONObject.fromObject( map );=20
<BR> System.out.println( jsonObject ); =
<BR><BR> =20
System.out.println(" .....json from bean.... "); <BR> =
MyBean=20
bn =3D new MyBean();<BR> bn.setName("yun =
dao");<BR> =20
jsonObject =3D JSONObject.fromObject(bn); <BR> =20
System.out.println( jsonObject ); <BR> <BR> =
System.out.println(" .....json to bean.... ");<BR> =
String json=20
=3D=20
=
"[{name:'zhangfeng',sex:'male',age:27},{name:'zhangfeng',sex:'male',age:2=
7}]";<BR> =20
jsonArr =3D JSONArray.fromObject( json );<BR> =20
System.out.println(jsonArr);<BR> for(Object=20
obj:jsonArr){<BR> =20
System.out.println(obj);<BR> jsonObject =3D=20
JSONObject.fromObject(obj);<BR> bn =3D (MyBean)=20
JSONObject.toBean(jsonObject,MyBean.class);<BR> =20
System.out.println(bn.getName() + " " +bn.getSex() + " " +=20
bn.getAge());<BR> }=20
<BR>}<BR>}<BR></SPAN></P></SPAN></SPAN></SPAN>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt"></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt"><BR>/*=20
<BR>* =
=CF=C2=C3=E6=B5=C4=D2=EC=B3=A3=BD=E2=BE=F6=B7=BD=B7=A8=CA=C7=A3=BA=BD=AB=C0=
=E0MyBean=C9=F9=C3=F7=CE=AApulic=C0=E0=D0=CD<BR>* Exception in thread =
"main"=20
net.sf.json.JSONException: java.lang.NoSuchMethodException: =
Property=20
'name' has no getter method<BR>at=20
net.sf.json.JSONObject._fromBean(JSONObject.java:949)<BR>at=20
net.sf.json.JSONObject.fromObject(JSONObject.java:189)<BR>at=20
net.sf.json.JSONObject.fromObject(JSONObject.java:151)<BR>at=20
twolf.test.TestMain.main(TestMain.java:49)<BR>Caused by:=20
java.lang.NoSuchMethodException: Property 'name' has no getter=20
method<BR>at=20
=
org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(Property=
UtilsBean.java:1127)<BR>at=20
=
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(Property=
UtilsBean.java:686)<BR>at=20
=
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsB=
ean.java:715)<BR>at=20
=
org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java=
:290)<BR>at=20
net.sf.json.JSONObject._fromBean(JSONObject.java:924)<BR>... 3 =
more</P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt">*/</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt">=A1=A3=A1=A3=A1=A3=D6=D5=D3=DA=B8=E6=D2=BB=B6=CE=C2=E4=A3=AC=BF=C9=D2=
=D4=D0=DD=CF=A2=CF=C2=C1=CB=A3=AC=BA=D9=BA=D9~~</P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 0cm 0pt; TEXT-INDENT: =
21pt">=D4=D9=C0=B4=D2=BB=B4=CE =BC=FB=20
<A=20
=
href=3D"http://hi.baidu.com/fenglinquan/blog/item/04e5fb13509bd127dc54014=
c.html"=20
=
target=3D_blank>WEB=BF=AA=B7=A2=D6=AE=C2=C3=A1=AA=D5=BE=D4=DA=C9=BD=BD=C5=
=CF=C2</A></P></SPAN></DIV></TD></TR></TBODY></TABLE><BR>
<DIV class=3Dopt><A =
title=3D=B2=E9=BF=B4=B8=C3=B7=D6=C0=E0=D6=D0=CB=F9=D3=D0=CE=C4=D5=C2=20
href=3D"http://hi.baidu.com/fenglinquan/blog/category/web%BF%AA%B7%A2%D6%=
AE%C2%C3">=C0=E0=B1=F0=A3=BAweb=BF=AA=B7=A2=D6=AE=C2=C3</A>=20
| <A =
title=3D=BD=AB=B4=CB=CE=C4=D5=C2=CC=ED=BC=D3=B5=BD=B0=D9=B6=C8=CB=D1=B2=D8=
onclick=3D"return addToFavor();"=20
href=3D"http://cang.baidu.com/do/add" =
target=3D_blank>=CC=ED=BC=D3=B5=BD=CB=D1=B2=D8</A> | =E4=AF=C0=C0(<SPAN=20
id=3Dresult></SPAN>) | <A=20
href=3D"http://hi.baidu.com/fenglinquan/blog/item/5c36b535e59a3e1590ef39c=
4.html#send">=C6=C0=C2=DB</A> (1)
<SCRIPT language=3Djavascript>=0A=
/*<![CDATA[*/=0A=
var pre =3D =
[true,'WEB=BF=AA=B7=A2=D6=AE=C2=C3=A1=AA=D5=BE=D4=DA=C9=BD=BD=C5=CF=C2=A1=
=BE=D0=F8 5=A1=BF', =
'WEB=BF=AA=B7=A2=D6=AE=C2=C3=A1=AA=D5=BE=D4=DA=C9=BD=BD=C5=CF=C2=A1=BE=D0=
=F8 5...','/fenglinquan/blog/item/59423924fc2b4e2fd40742e8.html'];=0A=
var post =3D =
[true,'=3D=3D=3Dajax=CA=B9=D3=C3=CB=E6=B1=E3=C1=C4=3D=3D=3D','=3D=3D=3Daj=
ax=CA=B9=D3=C3=CB=E6=B1=E3=C1=C4=3D=3D=3D', =
'/fenglinquan/blog/item/d8691697490e496b54fb965f.html'];=0A=
if(pre[0] || post[0]){=0A=
document.write('<div =
style=3D"height:5px;line-height:5px;"> </div><div id=3D"in_nav">');=0A=
if(pre[0]){=0A=
document.write('=C9=CF=D2=BB=C6=AA=A3=BA<a href=3D"' + pre[3] + '" =
title=3D"' + pre[1] + '">' + pre[2] + '</a> ');=0A=
}=0A=
if(post[0]){=0A=
document.write('=CF=C2=D2=BB=C6=AA=A3=BA<a href=3D"' + post[3] + '" =
title=3D"' + post[1] + '">' + post[2] + '</a>');=0A=
}=0A=
document.write('</div>');=0A=
}=0A=
/*]]>*/=0A=
</SCRIPT>
</DIV>
<DIV class=3Dline></DIV>
<STYLE type=3Dtext/css>#in_related_doc A {
TEXT-DECORATION: none
}
</STYLE>
<DIV id=3Din_related_tmp></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>=0A=
/*<![CDATA[*/=0A=
function HI_MOD_IN_RELATED_DOC_CALLBACK(arg){=0A=
if(arg.length <=3D 1) return false;=0A=
var hasMore =3D arg[0];=0A=
var D=3Dfunction(A,B){A[A.length]=3DB;}=0A=
if(arg.length % 2 =3D=3D 0) D(arg, ["","","",""]);=0A=
=0A=
var html =3D ['<div id=3D"in_related_doc"><div =
class=3D"tit">=CF=E0=B9=D8=CE=C4=D5=C2=A3=BA</div>'];=0A=
D(html, '<table cellpadding=3D"0" cellspacing=3D"3" border=3D"0">');=0A=
for(var i =3D 1, j =3D arg.length; i < j; i +=3D 2){=0A=
D(html, '<tr>');=0A=
D(html, '<td width=3D"15px"><a style=3D"font-size:25px" =
>•</a></td><td><a href=3D"http://hi.baidu.com/' + arg[i][3] + =
'/blog/item/' + arg[i][2] + '.html" target=3D"_blank" title=3D"' + =
arg[i][0] + '">' + arg[i][1] + '</a>');=0A=
D(html, new Array(10).join('\u3000'));=0A=
D(html, '</td>');=0A=
if(arg[i + 1][0] !=3D "")=0A=
D(html, '<td width=3D"15px"><a style=3D"font-size:25px" =
>•</a></td><td><a href=3D"http://hi.baidu.com/' + arg[i + 1][3] + =
'/blog/item/' + arg[i + 1][2] + '.html" target=3D"_blank" title=3D"' + =
arg[i + 1][0] + '">' + arg[i + 1][1] + '</a></td>');=0A=
else=0A=
D(html, '<td> </td><td> </td>');=0A=
D(html, '</tr>');=0A=
}=0A=
if(hasMore) D(html, '<tr><td colspan=3D"4"><a target=3D"_blank" =
href=3D"/sys/search?pageno=3D1&type=3D7&sort=3D1&word=3DWEB%BF%AA%B7%A2%D=
6%AE%C2%C3%A1%AA%D5%BE%D4%DA%C9%BD%BD%C5%CF%C2%A1%BE%D0%F8%206%A1%BF&item=
=3D5c36b535e59a3e1590ef39c4">=B8=FC=B6=E0>></a></td></tr>');=0A=
D(html, '</table></div><div class=3D"line"> </div>');=0A=
=0A=
var div =3D document.getElementById('in_related_tmp');=0A=
if(div){=0A=
div.innerHTML =3D html.join('');=0A=
while(div.firstChild){=0A=
div.parentNode.insertBefore(div.firstChild, div);=0A=
}=0A=
div.parentNode.removeChild(div);=0A=
}=0A=
window.setTimeout("tracker_init('in_related_doc')",100);=0A=
}=0A=
=0A=
if(RelatedDocData =3D=3D -1){ // not supported xhr=0A=
var script =3D document.createElement('script');=0A=
script.type =3D 'text/javascript';=0A=
script.src =3D =
'/sys/search?type=3D8&word=3DWEB%BF%AA%B7%A2%D6%AE%C2%C3%A1%AA%D5%BE%D4%D=
A%C9%BD%BD%C5%CF%C2%A1%BE%D0%F8%206%A1%BF&item=3D5c36b535e59a3e1590ef39c4=
&t=3D' + new Date().getTime();=0A=
document.getElementsByTagName('HEAD')[0].appendChild(script);=0A=
}else if(RelatedDocData =3D=3D null){=0A=
GetAndEval =3D true;=0A=
}else{=0A=
eval(RelatedDocData);=0A=
}=0A=
=0A=
/*]]>*/=0A=
</SCRIPT>
<DIV id=3Din_reader>
<DIV class=3Dtit>=D7=EE=BD=FC=B6=C1=D5=DF=A3=BA</DIV>
<SCRIPT>=0A=
=0A=
var g_spAnnony=3Dtrue;=0A=
=0A=
=0A=
var g_read=3D[=0A=
=0A=
["wangkafeng","077077616e676b6166656e671804","wangkafeng"],=0A=
=0A=
["yanyulou","93dd6e656f626f620001","neobob"],=0A=
=0A=
["vipzj","eca87669707a6aa801","vipzj"],=0A=
=0A=
["%D4%C6%BA%A3%CE%E8%B2%D4%CC%EC","5184d4c6baa3cee8b2d4ccec2c04","=D4=C6=BA=
=A3=CE=E8=B2=D4=CC=EC"],=0A=
=0A=
["%C6%AF%B2%B4%C8%E7%B7%E7","c16ac6afb2b4c8e7b7e76900","=C6=AF=B2=B4=C8=E7=
=B7=E7"],=0A=
=0A=
["mumu2lin","83d06d756d75326c696e4703","mumu2lin"],=0A=
=0A=
{}=0A=
];=0A=
g_read.length=3Dg_read.length-1;=0A=
=0A=
var _rh1=3D"";=0A=
var _rh2=3D"";=0A=
=0A=
function wrreader(){=0A=
_rh1 +=3D '<table width=3D"100%" ><tr>';=0A=
_rh2+=3D'<tr>';=0A=
if(g_spAnnony){=0A=
_rh1+=3D'<td align=3D"center" width=3D"10%" ><img border=3D"0" =
width=3D"55" height=3D"55" =
src=3D"http://img.baidu.com/hi/img/portraitn.jpg"></td>';=0A=
_rh2+=3D'<td> </td>';=0A=
if(g_read.length>0){=0A=
_rh1+=3D'<td align=3D"left" width=3D"12%">';=0A=
}else{=0A=
_rh1+=3D'<td align=3D"left" width=3D"100%">';=0A=
}=0A=
_rh1+=3D'<a =
href=3D"http://passport.baidu.com/?login&tpl=3Dsp&tpl_reg=3Dsp&u=3D'+myre=
f+'" =
target=3D"_self">=B5=C7=C2=BC</a>=BA=F3=A3=AC=C4=FA=BE=CD=B3=F6=CF=D6=D4=DA=
=D5=E2=C0=EF=A1=A3</td>';=0A=
_rh2+=3D'<td> </td>'=0A=
}=0A=
if(g_read.length=3D=3D0){=0A=
if(!g_spAnnony){=0A=
_rh1+=3D'<td align=3Dleft =
width=3D"100%">=D7=EE=BD=FC=BB=B9=C3=BB=D3=D0=B5=C7=C2=BC=D3=C3=BB=A7=BF=B4=
=B9=FD=D5=E2=C6=AA=CE=C4=D5=C2=A1=AD=A1=AD</td>';=0A=
_rh2+=3D'<td> </td>';=0A=
}=0A=
}else{=0A=
for(i=3D0,len=3Dg_read.length;i<len;i++){=0A=
_rh1+=3D'<td align=3D"center" valign=3D"bottom" width=3D"10%" =
class=3D"user"><a href=3D"/'+g_read[i][0]+'" target=3D"_blank"><img =
border=3D"0" =
src=3D"http://himg.baidu.com/sys/portraitn/item/'+g_read[i][1]+'.jpg"></a=
></td>';=0A=
_rh2+=3D'<td align=3D"center" valign=3D"top" class=3D"user"><a =
href=3D"/'+g_read[i][0]+'" target=3D"_blank">'+g_read[i][2]+'</a></td>';=0A=
}=0A=
}=0A=
_rh1+=3D'<td width=3D"100%"></td></tr>';=0A=
_rh2+=3D'<td></td></tr></table>';=0A=
document.write(_rh1+_rh2);=0A=
}=0A=
=0A=
wrreader();=0A=
</SCRIPT>
</DIV>
<DIV class=3Dline></DIV>
<SCRIPT language=3DJavaScript>=0A=
allkey=3Dallkey+"392afa80ec6c3cd79123d9cd_5c36b535e59a3e1590ef39c4_";=0A=
</SCRIPT>
<DIV id=3Din_comment><A name=3Dcomment></A>
<DIV class=3Dtit>=CD=F8=D3=D1=C6=C0=C2=DB=A3=BA</DIV>
<SCRIPT>=0A=
function writecmt(type,id,cmtname,cmturl,portraitId){=0A=
var html1=3D"";=0A=
=0A=
if(type=3D=3D1){=0A=
html1=3D"<a href=3D'"+cmturl+"' target=3D'_blank' =
title=3D'"+cmturl+"'><img border=3D'0' =
src=3D'http://himg.baidu.com/sys/portraitn/item/"+portraitId+".jpg'><br>"=
+cmtname+"</a>";=0A=
}else{=0A=
if(cmtname=3D=3D"" || cmtname=3D=3D"=C4=E4=C3=FB=CD=F8=D3=D1"){=0A=
if(cmturl=3D=3D""){=0A=
html1=3D"<a>=C4=E4=C3=FB=CD=F8=D3=D1</a>";=0A=
}else{=0A=
html1=3D"<a href=3D'"+cmturl+"' target=3D'_blank' =
title=3D'"+cmturl+"'>"+cmtname+"</a>";=0A=
}=0A=
}else{=0A=
if(cmturl=3D=3D""){=0A=
html1=3D"<div class=3D'f14' =
style=3D'display:inline'>=CD=F8=D3=D1:<a>"+cmtname+"</a></div>";=0A=
}else{=0A=
html1=3D"<div class=3D'f14' style=3D'display:inline'>=CD=F8=D3=D1:<a =
href=3D'"+cmturl+"' target=3D'_blank' =
title=3D'"+cmturl+"'>"+cmtname+"</a></div>";=0A=
}=0A=
}=0A=
}=0A=
document.write(html1);=0A=
}=0A=
=0A=
</SCRIPT>
<A name=3Dea7352d024cf3a88a1ec9c4d></A>
<TABLE class=3Ditem=20
style=3D"TABLE-LAYOUT: fixed; OVERFLOW: hidden; WORD-WRAP: break-word"=20
cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0 ;>
<TBODY>
<TR>
<TD class=3Dindex vAlign=3Dtop width=3D"5%">1</TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -