关于Flex+json+Java的整合开发【连载二】- Java处理Json数据

由于系统中是用Json传输数据的,我觉得在这里有必要把Java和Flex处理Json数据分别介绍一下,今天我们先介绍Java处理Json数据。java里面已经有开源包实现了把一个Java对象转换为JSon对象, 它就是 http://www.json.org/java/, 各位读者可以在这个网站上面去下载jar包。首先创建一个自己的public的class,需要转换的类必须是public的,如果不是public的,这里转换不成功,我在写这篇文章的时候就遇到了这样的问题,百度了半天才解决,但是具体原因是什么,我没有深究,个人估计大概是非public的类在进行反射的时候有问题。

相关包的介绍:请大家在下载包的时候,一定要注意包的版本

下载地址:点击打开链接

MyBeanProperty.java

package com.jack.zhang.json;
/**
 * @author Jack Zhang
 * @version vb1.0
 * @Email virgoboy2004@163.com
 * @Date 2012-4-15
 */
public class MyBeanProperty
{
    private String code = "code";

    public String getCode()
    {
        return code;
    }

    public void setCode(String code)
    {
        this.code = code;
    }
    
}


MyBean.java

package com.jack.zhang.json;

import net.sf.json.JSONFunction;

public class MyBean
{
    private String name = "json";
    private MyBeanProperty myBeanProperty = new MyBeanProperty();
    private int pojoId = 1;
    private char[] options = new char[] { 'a', 'f' };
    private String func1 = "function(i){ return this.options[i]; }";
    private JSONFunction func2 = new JSONFunction(
        new String[] { "i" },
        "return this.options[i];");

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public int getPojoId()
    {
        return pojoId;
    }

    public void setPojoId(int pojoId)
    {
        this.pojoId = pojoId;
    }

    public char[] getOptions()
    {
        return options;
    }

    public void setOptions(char[] options)
    {
        this.options = options;
    }

    public String getFunc1()
    {
        return func1;
    }

    public void setFunc1(String func1)
    {
        this.func1 = func1;
    }

    public JSONFunction getFunc2()
    {
        return func2;
    }

    public void setFunc2(JSONFunction func2)
    {
        this.func2 = func2;
    }

    public MyBeanProperty getMyBeanProperty()
    {
        return myBeanProperty;
    }

    public void setMyBeanProperty(MyBeanProperty myBeanProperty)
    {
        this.myBeanProperty = myBeanProperty;
    }
}

Test.java

package com.jack.zhang.json;

import net.sf.json.JSONObject;

/**
 * @author Jack Zhang
 * @version vb1.0
 * @Email virgoboy2004@163.com
 * @Date 2012-4-15
 */
public class Test
{
    public static void main(String[] args)
    {
        MyBean myBean = new MyBean();
        JSONObject jsonObject = JSONObject.fromObject(myBean);
        System.err.println(jsonObject);
    }

}


输出:

{"func1":function(i){ return this.options[i]; },"func2":function(i){ return this.options[i]; },"myBeanProperty":{"code":"code"},"name":"json","options":["a","f"],"pojoId":1}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值