问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样讲JSON反序列化为复杂实体类

发布网友 发布时间:2022-04-26 18:12

我来回答

2个回答

热心网友 时间:2022-04-09 17:38

java的话你可以使用Gson这个包


下面是“演示”代码

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;

public class GsonTest {

public static void main(String[] args) {
Gson g = new Gson();
Bean b = new Bean();
b.setString_("字符串");
b.setInt_(0);
b.setDouble_(1.5);
b.setBoolean_(false);
ArrayList<String> l = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
l.add(String.valueOf(i));
}
b.setList_(l);
System.out.println("这个Bean重写了equals方法,待会比较用");
System.out.println("转换前的Bean" + b);
System.out.println("前面的代码不用管,下面是json");
String json = g.toJson(b);
System.out.println(json);
System.out.println("下面是将json转成对象");
Bean b2 = g.fromJson(json, Bean.class);
System.out.println("转换回来的:" + b2);
System.out.println("比较两者的内容是否相等:" + b.equals(b2));

}
}

class Bean {
private String string_;
private boolean boolean_;
private double double_;
private int int_;
private List<String> list_;

public List<String> getList_() {
return list_;
}

public void setList_(List<String> list_) {
this.list_ = list_;
}

public String getString_() {
return string_;
}

public boolean isBoolean_() {
return boolean_;
}

public double getDouble_() {
return double_;
}

public int getInt_() {
return int_;
}

public void setString_(String string_) {
this.string_ = string_;
}

public void setBoolean_(boolean boolean_) {
this.boolean_ = boolean_;
}

public void setDouble_(double double_) {
this.double_ = double_;
}

public void setInt_(int int_) {
this.int_ = int_;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (boolean_ ? 1231 : 1237);
long temp;
temp = Double.doubleToLongBits(double_);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + int_;
result = prime * result + ((list_ == null) ? 0 : list_.hashCode());
result = prime * result + ((string_ == null) ? 0 : string_.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Bean other = (Bean) obj;
if (boolean_ != other.boolean_)
return false;
if (Double.doubleToLongBits(double_) != Double
.doubleToLongBits(other.double_))
return false;
if (int_ != other.int_)
return false;
if (list_ == null) {
if (other.list_ != null)
return false;
} else if (!list_.equals(other.list_))
return false;
if (string_ == null) {
if (other.string_ != null)
return false;
} else if (!string_.equals(other.string_))
return false;
return true;
}

@Override
public String toString() {
return "Bean [string_=" + string_ + ", boolean_=" + boolean_
+ ", double_=" + double_ + ", int_=" + int_ + ", list_="
+ list_ + "]";
}
}

热心网友 时间:2022-04-09 18:56

C# code

123456789101112131415161718192021222324252627282930313233343536373839{    "QUES_JSON": [        {            "chapter": true,             "code": "一",             "name": "一般情况",             "type": "part",             "values": { }        },         {            "chapter": false,             "code": "1.1",             "name": "性别",             "type": "radio",             "valueDict": [                {                    "code": "1",                     "name": "男性",                     "type": "",                     "valueDict": [ ]                },                 {                    "code": "2",                     "name": "女性",                     "type": "",                     "valueDict": [ ]                }            ],             "values": {                "2": {                    "appends": { },                     "code": "2",                     "value": "女性"                }            }        }    ]}这个应该如何 反序列化的实体类啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
酸醋萝卜怎么做又脆又好吃 账簿启用及交接表填写的步骤 账簿启用及交接表怎样填写 说的是精神分裂症,吃了二年多的药,分别是利培酮片,苯海索片,补脑_百度... 精神分裂症急性期适当的治疗方法 快递三斤荔枝的话要多少钱? 求高手指点一个plc编程问题,计算时间差,还有时间比较后,输出执行... 你好高手 我现在买了个松下fp0的PLC我想写一个步进程序,请问能否... 【plc执行程序步骤】 plc执行程序时 若有一步不能满足条件而执行不了... 电脑屏幕的壁纸怎么更换? json.stringify后的数组后台怎么接受 gson字符串 复杂对象 互转 请用 gson 用Java语言:从下列Json数组中只展示“productTypeName=公路零担... 如何在jsp页面中利用小脚本将list转换为json 如何用gson将从数据库取到的数据转换成数组? 女士职业装衬衣第一颗扣子该扣上吗?领子要怎么放好看? 穿衬衣一般扣几个扣子 男女的衬衫钮扣孔有什么区别 女士衬衫配毛衣第一个扣子要扣吗 女式衬衫风衣有几颗钮扣? 普通女士衬衫纽扣用多大扣子 女生的衬衫扣子在哪边? 衬衫纽扣样式多种多样,在挑选使怎样区分是男用还是女用纽扣? 女士衬衫纽扣小孔的直径大约多少? 衬衫纽扣的男女区分??? 为什么女衬衫的扣子在左面?而男的在右面? 女生面试衬衫扣子要求 出水口要达到多少六楼才有水呀? 10升桶装水漏5小时会漏到楼下去吗? 阳台爆水管,客厅浸水,多久能渗到楼下? 陇南武都最高海拔是多少武都城区南山海泼是多少? 陇南市武都区甘泉镇海拔是多少 武都是什么地方啊! 甘肃省陇南市武都区郭河乡上河里海拔多少米? 武都属于哪个省的哪个市? 《庆余年》四大宗师是哪四个? 武都是那个省的 正在热播的庆余年,里面的四顾剑为什么杀光了自己的全家族人? 想问问甘肃陇南武都的气候怎样? 《庆余年》中四顾剑为什么杀光了自己全家族人?这是什么心理因素造成的? 庆余年顾前是谁 甘肃武威市的海拔是多少? 庆余年:四顾剑无法出东夷城,怎么就成了背锅侠? 甘肃陇南有多大? 庆余年四大宗师是哪四大? 描述陇南市的地形特征 《庆余年》中的四顾剑为什么一直在背锅? 武都区旅游景点有哪些 《庆余年》中的四大宗师究竟是谁? 《庆余年》四大宗师是指哪四个?