Java对象转为Json串

全网详细解说:java对象转JSONObject和JSONString、JSONObject转java对象和JSONString,JSONString转JSONObject和java对象 阅读详情

在Ajax的应用中,我们通常需要将JavaBean,List,Map等对象转为Json串,方便页面解析

需要导入的jar包有

commons-beanutils-1.7.0.jar
commons.collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
jdom.jar
json-lib-2.2.2-jdk15.jar
json-lib-2.2.3-jdk13.jar

POJO类

Student类

public class Student {
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
Person类:

public class Person {
	private String name;
	private int age;
	private Student student;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Student getStudent() {
		return student;
	}
	public void setStudent(Student student) {
		this.student = student;
	}
	
}



1、将JavaBean转为Json串

public  void test1(){
	Student stu = new Student();
	stu.setId("111");
	stu.setName("stu1");
	Person p = new Person();
	p.setAge(18);
	p.setName("Person1");
	p.setStudent(stu);
	JSONObject json = JSONObject.fromObject(p);//将对象转json
	System.out.println(json.toString());	
		
		
	Person jb = (Person)JSONObject.toBean(json,Person.class);	//将json转为JavaBean
	System.out.println(jb.getAge());
	System.out.println(jb.getName());
}

输出结果为:{"age":18,"name":"Person1","student":{"id":"111","name":"stu1"}}


2、将List转为Json

public void test2(){
	List list1 = new ArrayList();
	list1.add( "first" );
	list1.add( "second" );
	JSONArray arrayToJson = JSONArray.fromObject( list1 );
	System.out.println(arrayToJson.toString());
	System.out.println("--------------");
	List list2 = new ArrayList();
	Student s1 = new Student();
	s1.setId("111");s1.setName("aaa");
	Student s2 = new Student();
	s2.setId("111");s2.setName("aaa");
	list2.add(s1);
	list2.add(s2);
	arrayToJson = JSONArray.fromObject(list2);
	System.out.println(arrayToJson.toString());
}
输出结果:

["first","second"]
--------------
[{"id":"111","name":"aaa"},{"id":"111","name":"aaa"}]

3、将Set转为Json

public void test5(){
	Set set = new HashSet();
	set.add("aaa");
	set.add("bbb");
	set.add("ccc");
	JSONArray jsonArray = JSONArray.fromObject(set);
	System.out.println(jsonArray.toString());
	System.out.println("--------------");
	Student stu = new Student();
	stu.setId("111");stu.setName("aaa");
	jsonArray = JSONArray.fromObject(stu);
	System.out.println(jsonArray.toString());
}

输出结果:

["aaa","ccc","bbb"]
--------------
[{"id":"111","name":"aaa"}]

由此可见,List转化为Json与Set转换为Json的代码基本相同


4、Map对象转化为Json

public void test3(){
	Map map = new HashMap();
	map.put("key1","aaa");
	map.put("key2","bbb");
	map.put("key3","ccc");
	map.put("key4","ddd");
	JSONObject obj = JSONObject.fromObject(map);
	System.out.println(obj.toString());
}
输出结果:{"key4":"ddd","key3":"ccc","key2":"bbb","key1":"aaa"}


5、数组类型转化为json串

public void test4(){
		
	boolean[] boolArray = new boolean[] { true, false, true };
	JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
	System.out.println(jsonArray1.toString());
}
输出结果:[true,false,true]




LLC谐振变换器设计实战:从工作原理到参数设计与调试 开关电源设计是电力电子领域的核心技术,其核心目标在于提升效率与功率密度。为实现这一目标,软开关技术应运而生,它通过精心控制开关器件的电压与电流波形,使其在开通或关断瞬间实现零电压或零电流切换,从而从根本上降低开关损耗。LLC谐振变换器正是这一技术的杰出代表,它通过引入谐振网络,巧妙地实现了主开关管的零电压开关和次级整流管的零电流开关。这种拓扑结构在服务器电源、通信设备及高端显示驱动等要求高效率、高功率密度的应用场景中价值显著。本文将以半桥LLC为例,深入剖析其工作模态与增益特性,并系统阐述其参数设计、仿真验 阅读详情

相关推荐

Windows系统3D Gaussian Splatting环境搭建全攻略:从零开始到成功运行

本文详细介绍了在Windows系统上搭建3D Gaussian Splatting环境的完整流程,包括CUDA 12.6安装、Anaconda环境配置、代码获取与依赖安装等关键步骤。针对Windows平台特有的环境配置问题,提供了实用的解决方案和常见错误排查方法,帮助开发者快速实现3D Gaussian Splatting的成功运行。

weixin_30832143的博客 454

JAVA 对象转换为JSON

cfg.setExcludes(new String[] {“待过滤属性1”, “待过滤属性2”, ..., “待过滤属性n”});使用jsonConfig对象的setExcludes()方法,传入参数为待过滤属性组成的数组。//过滤List集合中的Customer对象的id属性不生成JSON。//过滤Customer对象的id属性不生成JSON。//包含多个对象的List集合转换为JSON格式。1、Java对象列表转换为JSON对象数组,并转为字符串。3、过滤不需要转换为JSON格式的属性。

u200814342A的博客 2万+

电动车辆的动力总成控制

手把手教你学Simulink——电动车辆的动力总成控制在汽车工程领域,电动汽车(EV)的动力总成控制系统是确保车辆性能、效率和驾驶体验的关键。动力总成控制系统通常包括电机控制、电池管理系统(BMS)、能量回收系统等组件。通过使用Simulink,我们可以模拟和测试这些系统的运行情况,优化设计,并验证控制算法的有效性。

amy_mhd的博客 968

如何将 Java 对象转换为 JSON?

要将 Java 对象或 POJO(普通旧 Java 对象)转换为 JSON,我们可以使用JSONObject将对象作为参数的构造函数之一。在下面的示例中,我们将StudentPOJO 转换为 JSON 字符串。Student类必须提供 getter 方法,JSONObject通过调用这些方法创建 JSON 字符串。 在此代码段中,我们执行以下操作: 使用 setter 方法创建Student对象并设置其属性。 创建JSONObject调用object并将Student对象用作其构造函数的参数。 J.

allway2的博客 7万+

【技术实践指南】Python解析FactSet Revere供应链数据:构建企业级断裂与重构监测指标

本文提供了一份企业级Python实践指南,详细解析如何利用FactSet Revere供应链数据库,构建供应链断裂与重构监测指标。内容涵盖数据清洗、关系对筛选、时间序列处理及核心指标(断裂、恢复、转移)的工程化实现,旨在帮助数据工程师与分析师搭建自动化、可解释的供应链风险监控系统。

weixin_29051811的博客 934

别再死记硬背GNN公式了!用PyTorch Geometric从零实现一个GraphSAGE(附完整代码)

本文通过PyTorch Geometric从零实现GraphSAGE模型,深入解析图神经网络的核心原理与实战应用。文章提供完整代码示例,涵盖环境配置、邻居采样、信息聚合等关键步骤,帮助开发者掌握图表示学习技术,避免陷入公式推导的困境。适合希望将GNN应用于实际项目的中级开发者和学生。

weixin_42530570的博客 348

Java对象和JSON格式的互相转化

【代码】Java对象和JSON格式的互相转化。

初夏0811的博客 3万+

群辉NAS映射为本地盘符

鼠标右击网络→映射网络驱动器→以上适合通过局域网操作,采用ZeroTier组网后,也可以按照以上步骤实现,这时使用 “虚拟局域网”的IP地址。

dgnankai的专栏 5776

java中对象和JSON格式的转换

是,具有良好的可读性和可拓展性。它采用键值对的方式表示数据,支持基本数据类型和复合数据类型。可用于描述结构化数据和非结构化数据。

南州博客 9334

损失函数大汇总(六十一)(Signed Distance Map Loss附公式推导与代码)

摘要 本文介绍了Signed Distance Map (SDM) Loss,一种将形状先验直接融入分割任务的方法。SDM将每个像素表示为到目标边界的带符号距离(内部为负,外部为正),相比二值mask能更连续地表达形状几何信息。SDM Loss的核心思想是让网络学习这个隐式形状场,通过可微的Heaviside函数近似将SDM转换为分割结果。文中重点分析了一种product-based regression loss,它能同时关注距离数值和内外符号的正确性,对边界区域尤为敏感。SDM Loss通常与传统的分割

悦学共鸣,温柔以待,汇聚光芒,共同成长 188

YOLOv11架构革新:华为VanillaNet与BiFPN深度融合的突破性改进实战指南

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!

LXY_LOVE36的博客 136

驼峰json串转为java对象_json-lib将json格式的字符串,转化为java对象的实例

json格式字符串中的日期是按照‘yyyy-MM-dd HH:mm:ss'格式,如果按照常规的转换为对象,该日期则解析成当前系统时间JSONObject json = JSONObject.fromObject(data);Dispatchplan dp = (Dispatchplan)JSONObject.toBean(json, Dispatchplan.class);导致原因JSONObje...

weixin_36256447的博客 377

仿真学习系列(四十一):Sigrity仿真之PDN阻抗提取

电源分配网络(Power Distribution Network,简称PDN)是电子系统中至关重要的部分,主要用于将电源从电源输入端传输到各个组件。PDN的设计质量直接影响到系统的电源完整性和信号稳定性,尤其是在高速设计中,PDN的阻抗特性对电源噪声、地弹(ground bounce)和电源完整性(Power Integrity,简称PI)具有重要影响。

案例文章,高速信号 1134

JSON 串和 Java 对象的相互转换

json

Theoweb3|优快云 wwh1st|GitHub theoweb3|TG theo_liu|X theoweb33|gmail wwh9th 华语区Web3基础设施建设者;Web3开源社区共建者;博客沉淀去中心化等各类工程经验。 806

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java对象转js对象数组_js接收并转化Java中的数组对象的方法

在做项目时,要向ocx控件下发命令,就要在js中得到java中的对象,然后拼成一种格式,下发下去。。。当对象是一个时比较简单,但如果对象是一个数组时,就略显麻烦了。开始我以为有简单的方式,可以直接进行内容的转化,后来发现不可以,网上说js与java没有桥接的东西,所以呢:我的解决方案是:在action层,将java的对象数组转化为Json串,而在js中,再把json转化为数组对象。1.将java的...

weixin_28893597的博客 502

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

一个小小的JSON工具类

import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Set; public class Js...

沉默的小蜗牛 1783

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java获取json子字段值_java解析Json中获取Array字段值及嵌套Json对象

1. Json含有数组时,先把String类型的json串转换的Json对象,通过getJSONArray(key)方法获取其Array部分,然后通过下标和key获取相应子数组里具体的字段值:String test_arrary = "{\"address\": [{\"addressLine1\": \"Noida\",\"addressLine2\": \"UP\"}],\"firstNa...

weixin_39834780的博客 1983

前端传JSON字符串,Java转为数组对象

前端传JSON字符串,Java转为数组对象 JSONArray array = JSONArray.fromObject(str);//先读取串数组 Object[] o = array.toArray(); //转成对像数组 JSONObject obj = JSONObject.fromObject(o[0]);//再使用JsonObject遍历一个个的对像 Hi...

qq_42744664的博客 1773

关于json对象转为java对象的问题

先描述下问题:          1、在写junit单元测试用例时,返回的json串转为java对象时不成功!出现错误提示 java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xx.xx.modules.bd.entity.xx.xx。         2、经过debug,发现对象属性全部...

usench_10000的博客 394

Json字符串和Object对象互相转换(还有注意点)

Json

weixin_46120382的博客 1845

java复杂json字符串转为java对象

有复杂json串如下 { "DEPT_ID":"1", "DEPT_NAME":"教育部" } key值全部大写,并且又下划线分割;要求封装为如下bean public class Bean { private String deptId; private String deptName; public String getDeptId() { return deptId;...

timeless的博客 2560

【玩转JSON】复杂(对象内包对象)json转为Java对象

复杂(对象内包对象)json转为Java对象 json字符串示例 { "errno": 0, "error": "succ", "data": { "create_time": "2021-07-05 15:08:37", "online": false, "id": "742851839", "observe_status": false, "title": "861854049739673"

Chen_chenjiasheng的博客 2915

如何将Java对象转换为JSON字符串

当学习如何编写基于Java的软件时,开发人员遇到的第一个障碍就是如何将其代码与其他软件连接。 这通常是JSON的来源。尽管您可能是Java向导,但JSON是另一种动物。 无论如何,这篇博客文章解释了完成工作所需的一切。 Java对象是数据和处理可用数据的过程的组合 。 对象既有状态又有行为 。 在Java中,使用关键字“ new”创建对象。 对象是从称为类的模板创建的。 ...

最佳 Java 编程 1万+

JSON 与 Java 对象之间的转换方法和最佳实践

在现代的 Web 开发中,JSON(JavaScript Object Notation)已经成为了数据传输的主要格式之一。JSON 具有轻量级、易于阅读和编写等优点,因此在前后端通信、数据存储等方面得到了广泛应用。在 Java 开发中,将 JSON 与 Java 对象进行转换是非常常见的操作。

weixin_45913657的博客 1052

Gson在java对象和json字符串之间转换

Gson在java对象和json字符串之间转换 转载:https://blog.youkuaiyun.com/JQ_AK47/article/details/52685298 Gson相比org.json最大的好处是从json字符串转向java实例时候少了依据每个实例自己赋值的过程,比如在org.json的时候,我们先从json字符串构建一个jsonobject,然后用各种的...

stay hungry ! stay foolish! 2307

SpringMVC中 复杂格式JSON与JAVA对象的互转的问题 与前端、数据库交换JSON数据怎么实现

你是否遇到过这种情况,前端传来的数据内包含了数组或者嵌套了很多层数据,用传统的java数组却接收不了这些数据。会抛出HttpMessageNotReadableException、MismatchedinputException这类异常,又或者接收了但是显示为null,或者不知道怎么将java对象存入数据库JSON字段中,那么这篇文章大概率可以解决你的问题。

f131619_0的博客 1017
上一篇: Linux下安装mysql以及配置JDBC驱动
下一篇: Java、JavaScript生成二维码
刘莅
博客等级 码龄10年 49粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值