JSON数据转换

用到的开源项目:https://github.com/google/gson

news类:

package com.example.jsondemo.domain;

public class News {
    private int id;

    private String title;
    private String desc;
    private String content;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public News(int id, String title, String desc, String content) {
        super();
        this.id = id;
        this.title = title;
        this.desc = desc;
        this.content = content;
    }

    public News() {
    }

    public News(String title, String desc, String content) {
        super();
        this.title = title;
        this.desc = desc;
        this.content = content;
    }

}

把对象转换成json:

private String objToJson() {
        News news = new News(1000, "标题", "副标题", "主体");
        String gString = g.toJson(news);
        Log.i("GSON", gString);
        return gString;
    }

json内容:就是字符串

{"content":"主体","desc":"副标题","title":"标题","id":1000}

json转成对象:

private News jsonToObj(String json) {
        Log.i("GSON", "json to obj");
        News news = g.fromJson(json, News.class);
        Log.i("GSON", news.toString());
        return news;
    }

list集合==>json:

private String listToJson() {
        List<News> list = new ArrayList<News>();
        list.add(new News(10001, "标题1", "副标题1", "主体1"));
        list.add(new News(100012, "标题12", "副标题12", "主体12"));
        list.add(new News(100013, "标题13", "副标题13", "主体13"));
        list.add(new News(100014, "标题14", "副标题14", "主体14"));
        list.add(new News(100015, "标题15", "副标题15", "主体15"));
        String gList = g.toJson(list);
        Log.i("GSON", gList);
        return gList;
    }

json==>集合List:

private List<News> jsonToList(String json) {
        // import java.lang.reflect.Type;
        Type type = new TypeToken<List<News>>() {
        }.getType();
        List<News> list = g.fromJson(json, type);
        for (News news : list) {
            Log.i("GSON", news.getTitle() + news.getDesc());
        }
        return list;
    }

项目地址:

https://github.com/amorypepelu/JsonDemo

时间: 2024-11-13 19:15:45

JSON数据转换的相关文章

Json数据与Json数据转换

1.json数据 [{\"IS_DISTRIBUTOR_LIMIT\":0,\"PROVISION_PRICE\":null,\"PRO_STATUS\":\"1\",\"ATTACHMENT\":\"fangan_photo.png,716\",\"DIS_LABEL\":15,\"PRODUCT_NAME\":\"55\",

4.使用Jackson将Json数据转换成实体数据

Jar下载地址:http://jackson.codehaus.org/ 注意:类中的属性名称一定要和Json数据的属性名称一致(大小写敏感),类之间的嵌套关系也应该和Json数据的嵌套关系一致. 4.使用Jackson将Json数据转换成实体数据,布布扣,bubuko.com

java对象和json数据转换实现方式1-使用json-lib实现

测试代码: package com.yanek.util.json; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONLibUtil { /** * @param args */ public static void main(String[] args) { Hotel h1=new H

java对象和json数据转换实现方式2-使用gson实现

测试代码: package com.yanek.util.json; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonElement; import com.google.gson.JsonParser; public class GsonUtil { /**

java对象和json数据转换实现方式3-使用jackson实现

测试代码: package com.yanek.util.json; import java.io.IOException; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; import com.

Androidannotation使用之@Rest与服务器交互的JSON数据转换(二)

开篇 之前的一篇博客:Androidannotation使用之@Rest获取资源及用户登录验证(一):http://blog.csdn.net/nupt123456789/article/details/24384713 主要写了Rest在用户登录的时候,需要JSESSION字段的问题.本博客主要写JSON格式的转换. @Rest的参考文档: https://github.com/excilys/androidannotations/wiki/Rest-API#rest 简介: 从上一篇博客中,

VisualStudio2012轻松把JSON数据转换到POCO的代码

原文:VisualStudio2012轻松把JSON数据转换到POCO的代码       在Visual Studio 2012中轻松把JSON数据转换到POCO的代码,首先你需要安装Web Essentials 2012.在VS2012中,任何cs文件中单击右键就出现这样的菜单:       以这个 http://channel9.msdn.com/niners/CapSoft/achievements/visualstudio?json=true&raw=true  URL为示例, 请求后将

java痛苦学习之路[十二]JSON+ajax+Servlet JSON数据转换和传递

1.首先客户端需要引入 jquery-1.11.1.js 2.其次javaweb工程里面需要引入jar包  [commons-beanutils-1.8.0.jar.commons-collections-3.1.jar.commons-lang-2.4.jar.commons-logging-1.1.3.jar.ezmorph-1.0.6.jar.json-lib-2.3-jdk15.jar] 3.客户端js端代码 4.servlet 服务器,映射的路径CardColl 以上就是整个过程,如果

参照protobuf,将json数据转换成二进制在网络中传输。

json数据格式在网络中传输需要的数据比二进制庞大太多,我们可以省去key,外加将数字不需要编码成字符串,直接二进制编码就OK. pack : 将json压包,unpack解包成json. var Struct = module.exports = {}; Struct.TYPE = { int8:1, int16:2, int32:3, uint8:4, uint16:5, uint32:7, string:8, object:9, aint8:10, aint16:11, aint32:12

利用JAVA反射机制将JSON数据转换成JAVA对象

net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大,  这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用,   有些数据类型需要进行转换, 根据需要进行扩展,  这里可以处理Long和Date类型. 只支持单个JSONObject对象的处理,   对于复杂的JSON对象, 如JSONArray数组, 可考虑先遍历, 获取JSONObject后再进行处理. package common; import java.lang.refle