根据java实体拼接可被gson解析的json字符串 10C

根据以下java实体类拼接字符串,使用谷歌的GJONS可以解析,
1.Header header = (Header) gson.fromJson(json, Header.class);
2.Data entity = (Data) gson.fromJson(header.getData(), Data.class)

实体1 header
private String dataType;
private String sendTime;
private String data;

实体2 data
private T newData;
private List modProps;
private Object others;

实体3 ModProperty
private String name;
private FieldValue oldValue;
private FieldValue newValue;

实体4 FieldValue
private String vString;
private JsonArray vArray;
private JsonObject vObject;

  • 说明:
  • a.字符串必须满足以上实体
  • b.字符串使用谷歌gson能够准确的解析出来
  • c.newData中数据格式是{"name":"张三","tel":"12345678"...}
0

3个回答

我建议你先把实体用Gson转成json串,然后反向推出拼接字符串

0
onlymorgan
onlymorgan 可以帮我写一下不?写出对应可以解析的字符串。
12 个月之前 回复

通过重写toString方法,然后将每个对象按照一定顺序加在一起就可以完成拼接。

0
 public class GsonTest {
    static class Header {
        private String dataType;
        private String sendTime;
        private String data;
        //getter and setter
    }
    static class FieldValue {
        private String vString;
        private JsonArray vArray;
        private JsonObject vObject;
        //getter and setter
    }
    static class ModProperty {
        private String name;
        private FieldValue oldValue;
        private FieldValue newValue;
        //getter and setter
    }
    static class Data<T> {
        private T newData;
        private List<ModProperty> modProps;
        private Object others;
        //getter and setter
    }
    public static void main(String[] args) {
        test1();
        System.out.println("==================================");
        test2();
    }
    public static void test1() {
        Gson gson = new Gson();
        Header header = new Header("a", "b", "c");
        System.out.println(gson.toJson(header));//打印 {"dataType":"a","sendTime":"b","data":"c"}
        ///////////////////////////////////////////////////
        String dataType = "a";
        String sendTime = "b";
        String data = "c";
        String headerJson = "{\"dataType\":\"" + dataType + "\",\"sendTime\":\"" + sendTime + "\",\"data\":\"" + data + "\"}";
        header = gson.fromJson(headerJson, Header.class);
        System.out.println(header.getDataType() + "," + header.getSendTime() + "," + header.getData());
    }
    public static void test2() {
        Gson gson = new Gson();
        Data<String> dataObject = new Data<>();
        List<ModProperty> modProperties = new ArrayList<>();
        ModProperty modProperty = new ModProperty();
        modProperty.setName("哈哈哈");
        FieldValue newValue = new FieldValue();
        newValue.setvString("范德萨法师分散");
        JsonArray jsonArray = new JsonArray();
        jsonArray.add(1);
        jsonArray.add(3);
        jsonArray.add(3);
        newValue.setvArray(jsonArray);
        modProperty.setNewValue(newValue);
        modProperty.setOldValue(newValue);
        modProperties.add(modProperty);
        dataObject.setModProps(modProperties);
        dataObject.setNewData("范德萨发士大夫撒");
        dataObject.setOthers("范德萨法师发射我");
        System.out.println(gson.toJson(dataObject));
        /////////////////////////////////
        String dataJson = "{\"newData\":\"范德萨发士大夫撒\",\"modProps\":[{\"name\":\"哈哈哈\",\"oldValue\":{\"vString\":\"范德萨法师分散\",\"vArray\":[1,3,3]},\"newValue\":{\"vString\":\"范德萨法师分散\",\"vArray\":[1,3,3]}}],\"others\":\"范德萨法师发射我\"}";
        Data entity = (Data) gson.fromJson(dataJson, Data.class);
        System.out.println(entity.getNewData());
        System.out.println(entity.getOthers());
        System.out.println(((ModProperty) entity.getModProps().get(0)).getName());
    }
}

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java Gson json字符串解析异常
在使用Gson.fromJson()方法对字符串进行解析得时候,明明字符串格式是正确的,但是经常会遇到如下得异常: Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 19 path $.msg 出现类似异常得原因往往是由于:json字符串与目标b...
Gson 解析复杂json字符串
对Gson不了解的同学可以先去了解下Gson的基本用法
Java Gson解析多层嵌套json字符串
碰到类似如下格式的json,总是解析失败,希望大神帮助解析一下nn "code":0,n "message":"",n "data":[n n "info":"id":0,"name":"lina","age":10,n "subclass":[]n ,n n "info":"id":1,"name":"may","age":16,n "subclass":[n n "info":"id":2,"name":"aa","age":13,n "subclass":[]n ,n n "info":"id":3,"name":"bb","age":12,"subclass":[]n n ]n n ]nn
java Gson解析多层嵌套json字符串
碰到类似如下格式json,总是解析失败,希望大神帮助解析一下rnrn "code":0,rn "message":"",rn "data":[rn rn "info":"id":0,"name":"lina","age":10,rn "subclass":[]rn ,rn rn "info":"id":1,"name":"may","age":16,rn "subclass":[rn rn "info":"id":2,"name":"aa","age":13,rn "subclass":[]rn ,rn rn "info":"id":3,"name":"bb","age":12,"subclass":[]rn rn ]rn rn ]rn
使用Gson解析常见json字符串
本文简要总结了使用Gson解析常见json字符串的方法。
利用GSON解析简单Json字符串
之前一直使用fastjson来解析json串,性能高,上手快,简单易学不错的! 最新听说fastjson爆出一个安全漏洞,只能寻找新的json库替代,就找到了gson,google开发的一款解析json的库, 平时工作中,复杂的json串解析用不太多,一般就是最基本的json串 用gson解析简单json串的示例如下: String jsonString = "{\"uid\":\"189
用Gson解析复杂的Json字符串
前提:自行将Gson开源库导入到工程中(不会的,请自行百度)。 这是本人第一次写博客,如有错误,请您见谅,也欢迎与我交流! 需要解析的Json字符串为:{ "error_code": 0, "reason": "Success", "result": { "data": [{ "content": "欠揍了吧", "hashId": "40EEB3
Gson 转 json字符串为实体对象
gson 成员变量 private Gson gson = new GsonBuilder() .registerTypeAdapter(Date.class, (JsonDeserializer&amp;amp;lt;Date&amp;amp;gt;) (json, typeOfT, context) -&amp;amp;gt; new Date(json.getAsJsonPrimitive().getAsLon...
Java:Gson:Java对象与JSON字符串
Gson gson = new Gson();String jsonString = gson.toJson(object);Type userType = new TypeToken<Result<User>>(){}.getType(); Result<User> userResult = gson.fromJson(json,userType); User user = userResult.
java中json字符串的拼接
在java中,查询某张表的所有数据并分页,将分页信息和数据同时传到页面,可以将数据拼接成json格式   String jsonStr = JsonUtils.toJson(list);//将对象转成JSON     StringBuilder sb = new StringBuilder();     sb.append("{");     sb.append("\"content\
java中拼接Json字符串
JsonObject代表空的json字符串,{} object.addProperty(“ChannelId”, ChannelId);用来添加ChannelId字段到json中 JsonArray代表空的json数组,数组中可以添加JsonObject 然后将JsonArray添加到JsonObject中,得到”ChargerIds”:[{“ChargerId”:”x3msxWxWkkF”}
java使用gson格式化json字符串
java使用gson格式化json字符串 [url]http://phpcode8.com/java/java- 使用jackson对Java对象与JSON字符串相互转换的一些总结 [url]http://www.blogjava.net/bolo/archive/2014/04/16/412533.html[/url] java使用gson格式化json字符串 ======...
Gson根据json字符串生成map对象
Map payResponse =new gson().fromJson(jsonResult, new TypeToken>() {});
拼接json字符串
之前写了一篇对json的理解,理解是理解了,结果做项目的时候还是不会用,所以在实践之后再来写这篇对json的应用。 应学长要求,做一个表格显示,点击按钮,从后台将数据取出并将之传到前台来显示,我觉得是一个很典型的json交互的应用。如图 首先,js响应函数中,将前台接受到的type,year,断面名称拼接成json格式,用ajax传入到xzdm.action里进行处理响应,返回数据库中的信息。
拼接JSON字符串
传输数据时经常要用到JSON格式,拼接JSON字符串是常用的事,这里记录一下,直接看代码吧。 [mapan@localhost unixNetwork]$ cat test.cpp #include #include void func(char test1[],char test2[],char test3[]) { char test[100]; sprint
Java-Gson解析-03 使用gson生产json字符串
package com.qf.gson01; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; //使用gson生产json字符串 public class Demo04 { public static void main(String[] args)
利用Gson实现简单的json字符串解析
json解析是比较常用的解析,但是利用JSONObject解析需要一条一条的去解析 ,代码量很多,很麻烦,在这里介绍一种简单的解析方法, 利用Gson的jar包解析json字符串,简单快速 注!利用gson解析的话,实体类的变量名需要和json字符串的返回名相同 上图 1)解析一条数据对象代码为: TestEntity  testEntity = gson.fromJs
使用Gson解析键名为中文的json字符串
通过@SerializedName 给变量加上别名的方式实现public class JsonBean { public int ret; public Response response; public static class Response { public TagCategory tag_category; pu
JSON字符串Gson,JSONObject解析中文乱码,接口
mysql数据库中有一个字段类型为json,而且其中存在key=中文,而不是key=“中文”,这种数据在对外提供接口数据的时候,发现页面返回的数据是乱码!!!!我勒个去!Debug时发现,无论使用JSONObject还是Gson去解析从mysql中查询出来的字符串得到的结果都是乱码!后来发现了下面这篇博客的内容后尝试后成功了!1.比如接口传参数为中文会乱码接口中传过来key=中文;;;;而不是这种类
使用GSON和泛型解析约定格式的JSON字符串
引言 在开发过程中,我们现在绝大部分都是使用JSON格式进行数据交互,但是各个接口返回的数据内容不同,如果每个接口都进行GSON解析代码会显得比较臃肿。 背景 我们先来看一下JSON的几种基本格式: # 第一种 {"status":0,"message":"成功","data":{"age":"15","sex":"女"}} # 第二种 {"status":0,"message":"成
Android的Json字符串用GSON解析注意的问题
第一次写博客,主要是做笔记和分享,希望和我遇到同样问题的人能快速解决不必花费更多时间和精力 我们通过Android的网络请求,请求服务器返回的字符串用GSON解析的代码为:bean results = new Gson().fromJson(content, bean.class); 这我们都知道,我就提出一些我遇到解析的问题来: 1.能解析,但获取的值为null
GSON解析遇到非JSON字符串的时候怎么办?
GSON解析遇到非JSON字符串的时候怎么办?目标文本可能是json也可能是非json,这个怎么处理一下?
gson解析泛型和将泛型转为json字符串
gson 解析泛型和将泛型转为json字符串
Gson处理返回的json字符串
1.需求: 如下是返回回来的json数据,我需要拿到list中所有的site_id值 2.选用谷歌的Gson处理 3.因为是maven管理项目,所以直接导入Gson的jar包 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.google.code.gson&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;gson&amp;lt...
使用Gson处理json字符串
@Test public void test01(){ String json = "[[\"42342\",\"1234213\"],[\"43124\",\"6456\"]]"; Gson gson = new Gson(); java.lang.reflect.Type type = new TypeToken>>() {}.getType(); List> lis
java解析ajax之json字符串
1.ajax提交json字符串 var json = {}; json.data = new Array(); var obj = {}; obj.name = "hehe"; json.data.push(obj); obj = {}; obj.name = "haha"; json.data.push(obj); json.i
JAVA 解析复杂的json字符串
原记录在有道云笔记。 public String pddGetOrders() { String orderidinfo=pddMap(); System.out.println(orderidinfo); Map&amp;lt;String, Object&amp;gt; results = JsonToMap.parseJSON2Map(orderidinfo); Map&amp;lt;String, Ob...
Java解析嵌套的JSON字符串
Java解析嵌套的JSON字符串 直接代码举例说明,需要json.jar包。 Maven依赖:               org.json       json       20140107     示例代码: String jsonstr = "{\"sign\":\"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE\"," + "
JAVA Json字符串解析替换
1)理解Eclipse中回车换行字符输出原理,JAVA String类的replace()方法和 replaceAll()方法的区别。2)解析Json格式的字符串方法
Gson解析小技巧——解析数组json字符串——一行代码搞定
说一行代码就一行,哈哈!那么下面稍微讲解一下Object[]例如:“[{"name":"feisher","age":29}]”后台给我们一个这样的字符串,解析起来很坑爹对吧,感觉完全没必要有那层数组,但是让其该接口,就太low了,虽说我以前也这样干,( ̄▽ ̄)”直接使用Gsonfo
GSON包,JAVA对象和LIST转换成JSON字符串
创建一个 Gson对象在调用其toJson方法将JAVA对象或集合转换成json字符串 Gson gson = new Gson(); String toJson = gson.toJson(Object o);
Gson在java对象和json字符串之间转换
GsonLib下载链接 Gson相比org.json最大的好处是从json字符串转向java实例时候少了依据每个实例自己赋值的过程,比如在org.json的时候,我们先从json字符串构建一个jsonobject,然后用各种的json get方法获取到每个字段的值,这是一个体力活。而gson依据反射机制我们只要传递我们要实例化的类型class进去返回就是创建好的实例。大大减少了代码量。先从java
字符串和变量拼接json字符串
若拼接int num=888; 则直接:String json=&quot;{“msg”:&quot;+num+&quot;}&quot;; 显示:{“msg”:888} 若拼接string num=“888”; 则直接:String json=&quot;{“msg”:&quot;&quot;+num+&quot;&quot;}&quot;; 显示:{“msg”:“888”}
java自定义Gson生成json字符串的顺序
背景:由于项目需求,需要实现一个将Java实体类转成json字符串,再将json字符串生成xml文件进行传输的需求。但是在生成xml之后发现xml字段顺序不正确,排查原因后发现是在生成json的时候顺序不正确,使用Gson生成json后顺序为:子类属性在前,父类属性在后然后根据属性顺序正序排序。如图: 而我需要的是父类属性在前,子类属性在后正序排序,于是在网上查询资料并实践后终于实现了,原理是写...
Json字符串转实体
首先,需要在NuGet中下载添加Newtonsoft.Json 先来一段字符串: string jsonString = &amp;amp;quot;{\&amp;amp;quot;log_id\&amp;amp;quot;:119047692893297896,\&amp;amp;quot;direction\&amp;amp;quot;:0,\&amp;amp;quot;words_result_num\&amp;amp;quot;:30,\&amp;amp;quot;words_result\&a
PHP拼接json字符串
方式一 &lt;?php $ip = "192.168.1.1"; $json_data['ip'] = $ip; $json_data = json_encode($json_data); echo file_put_contents("ip.conf", $json_data); ?&gt; 方式二 &lt;?php $ip = "192.168.1.1"; $json_data =...
Android 利用Gson生成Json字符串
利用谷歌提供的工具Gson,生成Json字符串比较好用。 1.先将要生成Json字符串的信息,添加到对象的属性中。并将对象传递给方法。 public String toJson(Object obj) { String json = ""; try { GsonBuilder gsonb = new GsonBuilder(); Gson gson = gsonb.c
json字符串解析
把下载的文件放在Bin目录下,使用时代码如下: using System.Web.Script.Serialization; PageResult pr = new PageResult(); pr.PageCount = (int)Math.Ceiling(tolNum / 10.0);//0.1→1,0.95→1,1.01→2,1.0→1//总页数。 tolNum; pr.Comm = new commentInfo[dt.Rows.Count]; pr.RecordCount = tolNum; for (int i = 0; i < dt.Rows.Count; i++) { pr.Comm[i] = new commentInfo() { ProjectName = dt.Rows[i]["ProjectName"].ToString(), ID = dt.Rows[i]["ID"].ToString(), Explorations = dt.Rows[i]["Explorations"].ToString(), Price = dt.Rows[i]["States"].ToString() }; } context.Response.Write(new JavaScriptSerializer().Serialize(pr)); } class PageResult { public commentInfo[] Comm { get; set; } public int PageCount { get; set; } public int RecordCount { get; set; } }
几种不同格式的json解析
给服务端发送请求后,服务端会返回一连串的数据,这些数据在大部分情况下都是XML格式或者JSON格式。然后JSON相对XML来说解析相对方便一些,所以先说说JSON的解析。 JSON的基本数据格式有这几种: 1.一个JSON对象——JSONObject {"name":"胡小威" , "age":20 , "male":true} 2.一个JSON数组——JSONArray
Json字符串解析
项目情况:最近做一个项目,主要给IOS程序提供数据接口,在做的过程中碰到个问题,就是IOS发过来的图片,在我这边一直解析不出来,主要是没法调试,纠结中,IOS传过来的图片是先把图片转为二进制再转为字符串格式,然后发给服务器端,我该怎么解析啊,有什么好的方法,是不是要做两个字段,一个用来保存图片路径,另一个保存二进制图片。请求大师们帮我看看! 如果谁做过这样的项目 请教各位大哥 这图片传递 该怎么解析 用什么方法更简单点,求详细代码。rnrn 这是我写的代码 rn HttpFileCollection files = Request.Files;rn HttpPostedFile file = files["pic"]; //图片rn System.Drawing.Image imgPic;rn imgPic = System.Drawing.Image.FromStream(file.InputStream);rn string src = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";rn string path2 = Server.MapPath("Images/" + src);rn imgPic.Save(path2, System.Drawing.Imaging.ImageFormat.Jpeg);
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合