您的位置:首页 > Web前端 > JavaScript

将数据封装为Json数据格式

2017-05-08 22:10 218 查看
[java] view
plain copy

1. List集合转换成json代码  

List list = new ArrayList();  

list.add( "first" );  

list.add( "second" );  

JSONArray jsonArray2 = JSONArray.fromObject( list );  

2. Map集合转换成json代码  

Map map = new HashMap();  

map.put("name", "json");  

map.put("bool", Boolean.TRUE);  

map.put("int", new Integer(1));  

map.put("arr", new String[] { "a", "b" });  

map.put("func", "function(i){ return this.arr[i]; }");  

JSONObject json = JSONObject.fromObject(map);  

3. Bean转换成json代码  

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  

4. 数组转换成json代码  

boolean[] boolArray = new boolean[] { true, false, true };  

JSONArray jsonArray1 = JSONArray.fromObject(boolArray);  

5. 一般数据转换成json代码  

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );  

[java] view
plain copy

// 普通的数据转化为json格式  

    public static void test3()  

    {  

        String str = "[";  

        str += "'wy','12'";  

          

        str += "]";  

          

        System.out.println(str);  

        JSONArray obj = JSONArray.fromObject(str);    

        System.out.println(obj);  

        // {"name":"wy","age":"12"}  

    }  

    // 普通的数据转化为json格式  

    public void test2()  

    {  

        String str = "{";  

        str += "name:[";  

        str += "'wy','eu','we'";  

        str += "]";  

          

        str += "}";  

                  

        System.out.println(str);  

        JSONObject obj = JSONObject.fromObject(str);      

        System.out.println(obj);  

    }  

      

    // list 格式转化为json  

    public void test1()  

    {  

        List list = new ArrayList();  

        for(int i = 0; i < 10; i++)  

        {  

            list.add("test" + i);  

        }  

        System.out.println(list);  

        JSONArray js = JSONArray.fromObject(list);  

        System.out.println(js);  

    }  

1.Google Json利器之Gson

  Gson是 Google 提供的用来在 Java 对象和
JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。

  关于Gson更详细的资料,请访问这里:

  GsonAPI:Gson最新版本的API文档

  Gson user guide:在代码中使用Gson进行JSON格式转换的一些例子

  Gson designdocument:包含了在Gson使用过程中的一些问题。

  2.阿里巴巴 Json利器之FastJson

  阿里巴巴说,fastjson是最快的json库。特别在parser方面,fastjson的性能令人惊奇,甚至超越了二进制协议的protobuf。

  关于FastJson的具体文档资料,点点这里

  3.IBM Json利器之Json4J

       IBM封装的一个json工具包,官方的介绍倒是不少,不过真正的用户不多。官方的介绍文字贴一下吧。

  简单 Java 模型,用于构造和处理要作为 JSON 实现来呈示的数据。  

  在期望将 Web Service 产生的 XML 应答转换为 JSON 结构,以方便在“异步 JavaScript 和
XML”(Ajax) 应用程序中使用的情况下,能够从 XML 快速转换为 JSON。进行这种转换带来好处,即采用 Ajax 模式的应用程序可以处理采用 JSON 格式的数据,而在 Microsoft InternetExplorer XML 变换和其他特定于平台的 XML 解析器中不必依赖 ActiveX 对象。此外,采用 JSON 格式的数据更容易压缩,因此传输效率更高。

  JSON 字符串和流解析器,它可以生成相应的 JSONObject,此对象采用 Java 语言来表示 JSON 结构。然后,您可以更改此 JSONObject,并将更改应用于 JSON 实现。

 json-lib和org.json的使用几乎是相同的,我总结出的区别有两点:

      1. org.json比json-lib要轻量得多,前者没有依赖任何其他jar包,而后者要依赖ezmorph和commons的lang、logging、beanutils、collections等组件

      2. json-lib在构造bean和解析bean时比org.json要方便的多,json-lib可直接与bean互相转换,而org.json不能直接与bean相互转换而需要map作为中转,若将bean转为json数据,首先需要先将bean转换为map再将map转为json,比较麻烦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: