如果a要傳送給b一些資訊
通過xml:
>
>
>
zhangsanname
>
>
18age
>
person
>
>
>
lisiname
>
>
20age
>
person
>
persons
>
這樣解析起來很慢
如果通過json:
person per =
newperson()
;per.
set***()
;//設定一些屬性
//json的形式: key: value
"zs"
:per
//傳送給另一邊,另一邊直接get,效率高很多
per = json.
get***x
(" zs' )
;
//person:age,name,address;
//別的都是構造方法和set,get
//這裡的address是另乙個類,包含家庭位址和學校位址,在後面
public
class
person
public
person
(int age, string name, address address)
public
intgetage()
public
void
setage
(int age)
public string getname()
public
void
setname
(string name)
public address getaddress()
public
void
setaddress
(address address)
}
public
class
address
public
address
(string homeaddress, string schooladdress)
public string gethomeaddress()
public
void
sethomeaddress
(string homeaddress)
public string getschooladdress()
public
void
setschooladdress
(string schooladdress)
}
json的應用其實就是各種轉換
map => json
private
static
void
map1()
* */
}
物件=>jsonprivate
static
void
object2()
,"name":"zs",
"age":23
} */
}
string => jsonpublic
static
void
string3()
throws jsonexception
//上面的貼上到「」內會自動轉義
string str ="";
jsonobject json =
newjsonobject
(str)
; system.out.
println
(json)
;}
檔案 => json
其實還需要中間再轉換成string,即檔案=> string => json
string=>json的方法和前面一樣
檔案=>string有兩種方法:
方法一(超級麻煩):
public
void
file4()
throws ioexception, jsonexception
system.out.
println
(sb)
;//string->json
jsonobject json =
newjsonobject
(sb.
tostring()
);system.out.
println
(json)
;}
方法二(簡單很多):public
static
void
file5()
throws ioexception, jsonexception
生成json檔案public
static
void
json6()
throws ioexception, jsonexception
還有乙個東西叫jsonarray
這裡指的是org.json.jsonarray
在後續的學習中,我發現這玩!意!爾!不!怎!麼!用!看看就好
public
static
void
jsonarray7()
throws ioexception, jsonexception ,]"
; jsonarray array =
newjsonarray
(str)
; system.out.
println
(array)
;}
這裡是高階版的jsonarray
net.sf.json.jsonarray是新版的,現在大多數用這個
需要一些jar包(版本不重要啦):
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
commons-beanutils-1.7.0.jar
commons-lang-2.4.jar
commons-collections-3.2.1.jar
json-lib.jar
(我都放在github 裡了)
map=>jsonarray
public
static
void
map2jsonarray8()
throws ioexception, jsonexception
jsonarray => mappublic
static
void
jsonarray2map9()
,]";
net.sf.json.jsonarray jarray =
newnet.sf.json.jsonarray()
;//先建立乙個陣列和map
jarray = jarray.
fromobject
(string)
; map
map =
newhashmap
<
>()
;//獲取陣列中的元素
for(
int i=
0; i < jarray.
size()
;i++)}
system.out.
println
(map)
;}
void 詳解及應用
void 在英文中作為名詞的解釋為 空虛 空間 空隙 而在 c 語言中,void 被翻譯為 無型別 相應的void 為 無型別指標 void 似乎只有 注釋 和限制程式的作用,當然,這裡的 注釋 不是為我們人提供注釋,而是為編譯器提供一種所謂的注釋。1.對函式返回的限定,這種情況我們比較常見。2.對...
select函式詳解及應用
select在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太愛用select寫程式,他們只是習慣寫諸如connect accept recv或recvfrom這樣的阻塞程式 所謂阻塞方式block,顧名思義,就是程序或是執行緒執行到這些函式時必須等待某個事件的發生,如果...
select函式詳解及應用
select在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太愛用select寫程式,他們只是習慣寫諸如connect accept recv或recvfrom這樣的阻塞程式 所謂阻塞方式block,顧名思義,就是程序或是執行緒執行到這些函式時必須等待某個事件的發生,如果...