a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 159|回复: 1

[专业语言] JAVA认证:Java里如何应用Json格式数据解析

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
JSON是一种很简洁很重要的数据格式,通常用来交换传输数据,广泛使用于JavaScript技术中,并逐渐在各种流行编程语言中火了起来。在Java中也有一个JSON的库,用来重要作用就是Java对象与JSON、XML数据的相互转换,有着重要的应用。9 k  G* R2 p' x+ i0 X
    环境:JDK5 , json-lib-2.3-jdk15/ O7 _+ x/ |1 g6 D8 a3 q+ [
    所依赖的包:json-lib-2.3-jdk15.jar,commons-collections.jar,commons- lang.jar,commons-logging.jar,commons-beanutils.jar,ezmorph-1.0.6.jar,xom-1.1.jar' f5 U7 D8 R! Q7 ?, z
    java中各种类型所对应的json格式:# F/ g( Z. V% o7 _* Z7 j
    1.数组或集合-->JSON串
! p; j1 U2 {! N% ~. G7 B    public static void test1() {( Z! _7 O% e. s7 v
    System.out.println("------------数组或集合-->JSON串----------");
- s/ O- x- ~' C3 W/ t" }+ n    boolean[] boolArray = new boolean[]{true, false, true};- S# f' K$ ]1 g5 j9 T; y& O. `
    JSONArray jsonArray1 = JSONArray.fromObject(boolArray);9 g5 W( D) t% G  E
    System.out.println(jsonArray1);
* `4 @! S" ~" }! U( L4 J    //输出格式: [true,false,true]5 B/ e2 @8 G3 [  r9 Q7 @) i
    List list = new ArrayList();
5 Q  t7 ~  J& Z9 n" o5 V1 z! X    list.add("first");
2 ]) y1 Y) F/ v6 c1 W& A    list.add("second");
  d; R' U+ f; k* Q! f6 c2 u/ l/ f    JSONArray jsonArray2 = JSONArray.fromObject(list);
  {! k: d7 y8 ?* X1 B7 @    System.out.println(jsonArray2);
9 B# i# x  n  }$ N    //输出格式: ["first","second"]3 A' N- p) A$ |% I
    JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");
& `- ~4 G* ^/ W% Q: w! C% s    System.out.println(jsonArray3);$ e" e* Y& J0 Y7 {4 L
    //输出格式: ["json","is","easy"]
! t, @) I7 \2 @. ]; c+ [' ^    }; X  E0 `" {; _9 Q* z. G9 R
    2.Object|Map-->JSON串
; A' c% L' `: l0 Z    public static void test2() {% p3 v/ Z+ }& a2 Y/ b+ y( q' J: |
    System.out.println("------------Object|Map-->JSON串----------");* Z: T0 q; H9 A' l
    Map map = new HashMap();
: N* M+ J) ?; l( b& p% e: |3 `    map.put("name", "json");
2 L9 A9 u* y; p    map.put("bool", Boolean.TRUE);  L% O  E3 g4 c
    map.put("int", new Integer(1));; a" h# U1 f# Z, R: `
    map.put("arr", new String[]{"a", "b"});' `9 D' C. a4 j2 N3 y* c2 s+ E* p
    map.put("func", "function(i){ return this.arr; }");7 k* x6 h3 H! A9 P- Y' S/ A# U2 o
    JSONObject jsonObject1 = JSONObject.fromObject(map);
7 j* ?( B  _* i. x# s    System.out.println(jsonObject1);
# q* n% ~9 O. h9 m    //输出格式: {"func":function(i){ return this.arr; },"arr":["a","b"],"int":1,"bool":true,"name":"json"}9 p$ ]+ i0 E* j- b4 s" _
    JSONObject jsonObject2 = JSONObject.fromObject(new MyBean());) {' V( W9 N$ z9 ^* J: l) H
    System.out.println(jsonObject2);
5 D0 Y  F" q- ]; O. O( r7 {/ T/ K9 J    //输出格式: {"func1":function(i){ return this.options; },"func2":function(i){ return this.options; },"name":"json","options":["a","f"],"pojoId":1}& D$ F. o( S0 i; B" {
    }
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:44:45 | 显示全部楼层

JAVA认证:Java里如何应用Json格式数据解析

public class MyBean {
1 v9 o: ^- S  I9 I+ @! r    private String name = "json";
: H5 y8 `% _" n% [+ Q& J6 s    private int pojoId = 1;
, Q' T. \" J; \; b0 u7 N    private char[] options = new char[]{'a', 'f'};3 P$ g* U: ?, b& b6 L
    private String func1 = "function(i){ return this.options; }";
% c  m7 d; Z  {' a/ _  Z    private JSONFunction func2 = new JSONFunction(new String[]{"i"}, "return this.options;");4 M7 o9 q+ r9 _7 O4 C% r. o
    public String getName() {3 `$ P6 K6 U# c) {: _/ d% @
    return name;
" w- ^" _! v7 K; N    }
9 W9 F  g6 N# O$ @6 l    public void setName(String name) {
& x3 u9 r" V) Q! F% G7 b. I    this.name = name;
/ r- q* X4 H$ O0 n( X+ j    }* k+ E0 m3 }( D! q$ Y
    public int getPojoId() {
. h& h, s4 L: [3 L0 ~+ r$ t6 Y    return pojoId;0 u( e& c1 k7 L, Y
    }( s7 y' c, w+ P$ X2 d; R/ ?7 S; k
    public void setPojoId(int pojoId) {8 f0 \7 G5 l+ _! Z
    this.pojoId = pojoId;/ y& ]2 k9 q, u5 q
    }
9 }/ A4 R8 K  P    public char[] getOptions() {
2 U  d$ b9 a' K' p  p) f' v    return options;' v5 ^7 \# m) `2 @/ }$ P% E' b
    }
. C- r$ I- Z5 t! T; k; L$ H2 C    public void setOptions(char[] options) {
0 B. }4 F. d3 q0 E$ j7 F/ s& A) Q3 I    this.options = options;  g1 m1 x4 d% ~
    }
. z& X  i/ }( a' ~8 x    public String getFunc1() {
" {/ ]8 D1 c, t! V0 B3 R( R/ ]    return func1;
+ h# P" U- e+ H, D5 }    }4 h4 a* ~+ M# @3 `
    public void setFunc1(String func1) {8 W( z. i' M& V+ r- j, Z
    this.func1 = func1;1 S( `' N. [  `9 r, P( ^' C/ {
    }" }4 [0 l& {; d( J+ T7 @% |+ z
    public JSONFunction getFunc2() {' u) y+ o+ v- m6 d) j: x3 n
    return func2;
1 a+ O& E  ]* y8 f0 A) a    }
% {( H: ~$ F: U2 y$ n5 M( f7 C    public void setFunc2(JSONFunction func2) {
# G6 w( }3 J2 j; o; W2 X    this.func2 = func2;, m% ^( z* P( f5 a
    }
) @9 d4 b% N& G    }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 22:49 , Processed in 0.186095 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表