Json转XML后将首字母大写(或者其他自己的需求格式)对象中包含list集合以及日期字段的处理(注解形式)

模板代码生成工具实战:从原理、选型到落地应用 在软件开发中,重复编写结构相似的代码是效率低下的重要原因,而模板引擎正是解决这一问题的核心工具。它的本质可以概括为“数据 + 模板 = 输出结果”,通过将变化的数据与固定的代码骨架分离,实现一次定义、多次生成。合理运用代码生成技术,能显著提升工程效率,尤其适合CRUD接口、配置文件、数据库脚本等高频重复场景。无论是使用Freemarker、Jinja2等引擎自建生成器,还是借助若依、MyBatis-Plus等现有工具,掌握其原理和选型思路都至关重要。本文从模板生成的核心概念讲起,详细解析其工作原理、技术价值 阅读详情

一、前言

json 与xml格式相互和常见,对于不用的系统,有的系统可能是json格式,有的可能是xml格式,对于一些中间平台,从第一个平台获取到的数据可能是json格式,等到自己处理完需要给另一个平台校验的却是xml格式,同时在xml中字段全大写或者首字母大写,或者某个词特有。对日期格式的要求也可能不同。自己遇到了,总结下来;

二、环境

开发工具: IDEA
json : fastJson (阿里的,这几种jsno里性能优秀的一个,网上有比对信息)
xml转换工具: thoughtworks.xstream (转换方便,效率也还Ok)

三、 Maven 依赖

1) fastjson 依赖

<!-- 阿里巴巴JSON处理器-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.54</version>
        </dependency>
  1. xstream依赖
<dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.10</version>
        </dependency>

四、Model 类(报文)

每个公司可能有不同的要求,比如对于一个实体,可能都要求用Entity结尾,我们是用Model结尾,如果是这样,如果不做处理,直接转换是会出问题的。所以才有了这篇文章。
1) RequestModel

package com.zlc.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/**
 * @ClassName : RequestModel
 * @描述 : request(报文)
 * @Author :  追到乌云的尽头找太阳
 * @Date : 2019/9/9 9:59
 **/
public class RequestModel {

    @XStreamAlias("Header")
    private RequestHeader header;
    // 请求头

    @XStreamAlias("Body")
    private RequestBody body;
    // 请求体
 // 省略set、get以及toString 方法
}

2)RequestHeadel

package com.zlc.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import java.util.Date;
/**
 * @ClassName : RequestHeader
 * @描述 : 请求头
 * @Author :  zlc
 * @Date : 2019/9/9 9:59
 **/
public class RequestHeader {

    @XStreamAlias("Method")
    private String requestMethod;

    @XStreamAlias("TimeStamp")
    private Date sendTime;

    @XStreamAlias("WhereFrom")
    private String whereFrom;
   // 省略set、get以及toString方法
   
}

3) RequestBody

package com.zlc.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/**
 * @ClassName : RequestBody
 * @描述 : 请求体
 * @Author :  追到乌云的尽头找太阳
 * @Date : 2019/9/9 9:59
 **/
public class RequestBody {

    @XStreamAlias("Teacher")
    private TeacherModel teacherModel;

    @XStreamAlias("Grade")
    private GradeModel gradeModel;
    // 省略set、get以及toString方法
}

4) TeacherModel

package com.zlc.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/**
 * @ClassName : TeacherModel
 * @描述 : 教师
 * @Author :  追到乌云的尽头找太阳
 * @Date : 2019/9/9 10:22
 **/
public class TeacherModel {
    
    @XStreamAlias("ID")
    private Integer id;

    @XStreamAlias("Name")
    private String name;
}

5)GradeModel

package com.zlc.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

import java.util.List;

/**
 * @ClassName : GradeModel
 * @描述 : 年级
 * @Author :  追到乌云的尽头找太阳
 * @Date : 2019/9/9 10:16
 **/
public class GradeModel {
    
    
    private Integer id;

    @XStreamAlias("Name")
    private String name;

    @XStreamImplicit(itemFieldName="Students")
    private List<StudentModel> students;
    
}

6)StudentModel

package com.zlc.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import com.zlc.xmltool.XmlDateConverter;

import java.util.Date;

/**
 * @ClassName : StudentModel
 * @描述 : 学生
 * @Author :  追到乌云的尽头找太阳
 * @Date : 2019/9/9 10:16
 **/
public class StudentModel {

    @XStreamAlias("ID")
    private Integer id;

    @XStreamAlias("FirstName")
    private String firstName;

    @XStreamAlias("LastName")
    private String lastName;

    @XStreamAlias("Birthday")
    @XStreamConverter(value = XmlDateConverter.class)
    private Date birthday;

    @XStreamAlias("City")
    private String city;
    
    @XStreamAlias("Age")
    private int age;
}

  1. XmlDateConverter 日期转换器
package com.zlc.xmltool;

import com.thoughtworks.xstream.converters.ConversionException;
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * ClassName : XmlDateConverter
 * 描述 : Xml日期转换器,设定时间格式  XStream 支持时间格式为:yyyy-MM-dd HH:mm:ss. 'UTC'(根据需要配置时间格式)
 * Use:  可以通过注解的形式配置在 日期格式的类属性上,应用于序列化为XML时
 * Example :  @XStreamConverter(value = XmlDateConverter.class)
    private Date cvalidate;
 * Data : 2019/8/8 10:03
 * @author zlc
 **/
public class XmlDateConverter  extends AbstractSingleValueConverter {
   
    private DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

    @Override
    public boolean canConvert(Class type) {
        return type.equals(Date.class);
    }

    @Override
    public Object fromString(String str) {
        try {
            return dateFormat.parseObject(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        throw new ConversionException("Cannot parse date " + str);
    }

    @Override
    public String toString(Object obj) {
        return dateFormat.format((Date) obj);
    }
    
}

五、说明

这种方法就是通过注解的方法将实体转换为xml时为其取个别名,这样就可以在 不影响java的驼峰的规则下,对实体进行“定制”。日期转换器是为了对日期的格式进行设置,可以看日期转化器上面的注解,进行过测试了;对于list集合属性,可以通过使用注解@XStreamImplicit(itemFieldName=“XXX”) 进行设置;

1)注解 @XStreamAlias(“ProdCount”) 可以为普通的字段进行别名设置
2)注解 @XStreamImplicit(itemFieldName=“Product”) 可以对list集合进行别名设置
3)注解 @XStreamConverter(value = XmlDateConverter.class) 日期转化器
4)注解 @XStreamOmitField 忽略某个字段

六、测试

对于直接将json字符串转换为对象,下篇介绍吧,挺简单的;测试就是用对象直接去设置,最后打印获取到的xml格式报文;
1)测试main (ps: 因为把这些直接弄成json格式的String有点长,同时这些都是我自己新写的测试类,所以没有贴公司的真正报文,保密)

package com.zlc.main;

import com.thoughtworks.xstream.XStream;
import com.zlc.model.*;
import com.zlc.vo.Student;
import com.zlc.xmltool.XmlTransformationTool;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @ClassName : JsonToXmlMain
 * @描述 : 测试main
 * @Author :  追到乌云的尽头找太阳
 * @Date : 2019/9/9 19:36
 **/
public class JsonToXmlMain {
    public static void main(String[] args) {
        RequestModel requestModel = new RequestModel();
        // 请求头
        RequestHeader header = new RequestHeader();
        header.setRequestMethod("POST");
        header.setWhereFrom("127.0.0.250");
        header.setSendTime(new Date());
        requestModel.setHeader(header);
        // 请求体
        RequestBody body = new RequestBody();
        // 教师
        TeacherModel teacherModel = new TeacherModel();
        teacherModel.setId(1);
        teacherModel.setName("乌云");
        body.setTeacherModel(teacherModel);
        // 年级
        GradeModel gradeModel = new GradeModel();
        gradeModel.setId(2);
        gradeModel.setName("社会一年级");
        // 学生集合
        List<StudentModel> students = new ArrayList<>();
        StudentModel studentModel1 = new StudentModel();
        studentModel1.setId(123);
        studentModel1.setAge(24);
        Date date = new Date();
        studentModel1.setBirthday(new Date());
        studentModel1.setCity("北京");
        studentModel1.setFirstName("赵");
        studentModel1.setLastName("大大");
        students.add(studentModel1);

        StudentModel studentModel2 = new StudentModel();
        studentModel2.setId(213);
        studentModel2.setAge(24);
        studentModel2.setBirthday(new Date());
        studentModel2.setCity("上海");
        studentModel2.setFirstName("钱");
        studentModel2.setLastName("大大");
        students.add(studentModel2);

        StudentModel studentModel3 = new StudentModel();
        studentModel3.setId(321);
        studentModel3.setAge(24);
        studentModel3.setBirthday(new  Date());
        studentModel3.setCity("山西");
        studentModel3.setFirstName("薛");
        studentModel3.setLastName("小小");
        students.add(studentModel3);
        
        gradeModel.setStudents(students);
        body.setGradeModel(gradeModel);
        requestModel.setBody(body);

        XStream xStream = new XStream();
        xStream.alias("Package", RequestModel.class);
        xStream.processAnnotations(RequestModel.class);
        String message = xStream.toXML(requestModel);
        
        System.out.println(message);
    }
}

2)测试结果 xml报文

"D:\Program Files\Java\jdk1.8.0_31\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 

<Request>
  <Header>
    <Method>POST</Method>
    <TimeStamp>2019-09-10 01:34:00.789 UTC</TimeStamp>
    <WhereFrom>127.0.0.250</WhereFrom>
  </Header>
  <Body>
    <Teacher>
      <ID>1</ID>
      <Name>乌云</Name>
    </Teacher>
    <Grade>
      <id>2</id>
      <Name>社会一年级</Name>
      <Students>
        <ID>123</ID>
        <FirstName>赵</FirstName>
        <LastName>大大</LastName>
        <Birthday>2019-09-10</Birthday>
        <City>北京</City>
        <Age>24</Age>
      </Students>
      <Students>
        <ID>213</ID>
        <FirstName>钱</FirstName>
        <LastName>大大</LastName>
        <Birthday>2019-09-10</Birthday>
        <City>上海</City>
        <Age>24</Age>
      </Students>
      <Students>
        <ID>321</ID>
        <FirstName>薛</FirstName>
        <LastName>小小</LastName>
        <Birthday>2019-09-10</Birthday>
        <City>山西</City>
        <Age>24</Age>
      </Students>
    </Grade>
  </Body>
</Request>

Process finished with exit code 0

注意:对于日期类型的字段,需要使用Date类型,如果是String类型,上面的日期类型转换器会报错,以后扩展;上面的日期转化器可以根据需要改成自己的日期格式,将日期格式作为参数进行控制。

七、补充

如果想要在对象中忽略某个字段,可以使用注解 @XStreamOmitField
再说明一点,因为我在公司实际是拿到的首字母什么的是小写的报文,我是先转化为的对象,然后将对象转换为xml;将json转换为对象这个下篇写吧。如果json格式的报文中没有对象中的某个字段,这个时候转化时是不进行转换的,所以上面的那个注解我实际没有用到。搬砖了!

xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理 xml转javaBean,javaBean转xml,xml标签大小写问题,CDATA的生成,以及对xml特殊符号的处理 立即下载

相关推荐

BMW Standard Tools 宝马FSC工具套装下载

这是一款非常专业的一套宝马编码工具,懂行的人自然知道他的用处,不懂行的人,我解释再多也不会明白的,需要的拿去吧。软件名:BMW Standard Tools包含工具:BMW Coding Tool v2.50、change Language、CIC Mafia、Dr.Gini B021、EasyConnect、EDIABAS Konfigurator v1.1、EDIABAS Konfigurator v2.0.0、FSC-Tools_2.18、FSTool_v2_CarServer、INPA、ITool

Zj_arrow的博客 7000

基于hutool实现JSONObject首字母驼峰大小写转换方法

【代码】基于hutool实现JSONObject首字母驼峰大小写转换方法。

solocao的专栏 1623

Widar3.0复现日志(DFSExtractionCode)

需要使用的matlab基本功能

XiaoQiXiaoWei_J的博客 2437

响应对象转json时属性名大小写问题完美解决

首先:案例是model里的属性名大写,http response时json默认变成小写开头,和model属性不一致。 例子: model为: class User{ private String NAME; private int AGE; getter 和 setter... } http 请求后响应的json为: { "name":"张三", "...

艾斯-李的博客 2万+

PID参数自整定实战解析:从继电反馈到智能调节的完整实现

本文深入解析PID参数自整定的实战应用,从继电反馈原理到智能调节算法的完整实现。通过详细讲解振荡波形特征提取、参数计算的工程化改进及工业场景调试技巧,帮助工程师快速掌握PID自整定技术,提升控制系统性能。特别针对嵌入式系统优化和噪声环境下的稳定策略提供了实用解决方案。

weixin_28731223的博客 462

51单片机学习(5)-----蜂鸣器的介绍与使用

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定 时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。1.半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。三极管顾名思义具有三个电极。二极管是由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。

2302_80260350的博客 1万+

JSONObject.toJSONString首字母大小写问题的三种解决方案

JSONObject.toJSONString首字母大小写问题的三种解决方案 友联: https://blog.youkuaiyun.com/my13413527259/article/details/102464288 1、在字段上加注解@JSONField(name = “name”) package com.cjh.wechatmp.po; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; import lombok.N

weixin_47766381的博客 2573

RU.EXE实用指南:从基础操作到高级调试技巧

本文是RU.EXE(RW Everything)的实用指南,详细介绍了这款硬件调试工具从基础操作到高级技巧的全过程。文章阐述了RU.EXE作为直接读写硬件寄存器、内存和PCI配置空间的强大工具,如何帮助硬件工程师和开发人员高效进行底层系统调试与故障排查,并强调了安全操作的重要性。

weixin_29228203的博客 280

JSONObject.toJSONString字段首字母默认为小写解决方案

JSONObject.toJSONString首字母大写

qq_43216611的博客 2186

全志F1C100S/F1C200S学习笔记(1)——基础简介及资料

资料: 荔枝派资料下载站 荔枝派github 荔枝派中文论坛 荔枝派DIY-github资料 荔枝派Nano 全流程指南 芒果派 坑网

丨晋丨 1万+

【四足机器人项目实战】四足机器人运动学、动力学模型

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、四足机器人实际模型的物理难点二、四足机器人运动学模型1.方法一:DH法建立运动学模型(1)运动学建模构型方法(2)运动学模型描述方法1、基于DH法四足机器人单腿运动学模型公式推导(0)DH法科普1)原理2)实现过程3)评价(1)四足机器人的建模规则、坐标系定义及实物参数确定1)标准Denavit-Hartenberg法建模规则2)单腿运动学模型坐标系定义示意图及简化模型3)

qq_35635374的博客 1万+

java对象转成json字符串实体类字段大小写问题(fasterxml.jackson)

最近在对接第三方接口时遇到一个问题,一个java对象在返回时调用JSONObject.fromObject(bean)方法,bean对象中的字段大小写发生变化下面贴出代码和工具包希望可以帮助到各位小伙伴 1.项目是maven项目 jar应用了以下两个 &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;com.fasterxml.jackson.core...

weixin_38638883的博客 1万+

fatal: unable to access ‘https://github.com/‘: Recv failure: Connection was reset 解决方案

本文主要介绍了fatal: unable to access ‘https://github.com/’: Recv failure: Connection was reset 解决方案,希望能对使用github的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 2万+

JSON处理更优雅:为开发者详解ForJSON聚合工具箱的实战价值

在接口联调、日志排查与数据迁移的过程中,开发者常因处理JSON的各类杂症而打断心流。面对格式校验、数据转换与字段提取,掌握一种更高效的解决路径至关重要。本文从最通用的JSON格式概念与数据处理原理出发,探讨如何借助一个聚合了27个免费工具的在线平台,将散落的操作统一为流畅的解决方案。通过对JSON校验、格式化以及JSON转XML/CSV等核心功能的场景化拆解,并结合真实报错案例,展示了其如何自然融入日常开发工作流,成为提升效率的实用助手。文章将为你理清,或许我们欠缺的不是处理复杂JSON的能力,而是应对高频

weixin_34198762的博客 350

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JAVA注解大全(个人复习不断增加)

以前,XML是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,XML的内容也越来越复杂,维护成本变得越来越高。 于是就有人提出来一种标记式高耦合的配置方式,注解。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正几乎需要配置的地方都可以进行注解。 关于注解和XML两种不同的配置模式,争论了好多年了,各有各的优劣,注解可以提供更大的便捷性,易于维护修改,但耦合度高,而 XML 相对于注解则是相反的。 追求低耦合就要抛弃高效率,追求效率必然会遇到耦合。本文意不再

淡若清风 5561

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

从Fastjson迁移到Jackson:Java JSON序列化库的安全与工程实践

JSON序列化与反序列化是现代软件数据交换的核心技术,其原理是将内存中的对象结构转换为可传输或存储的文本格式,反之亦然。这项技术的价值在于实现了跨平台、跨语言的数据互通,是微服务通信、API接口和缓存存储的基石。在实际工程中,选择一个安全、稳定且生态成熟的序列化库至关重要,它直接影响到系统的长期维护成本和抗风险能力。本文聚焦于Java生态中广泛使用的JSON处理库,针对**安全风险**和**社区生态**等关键考量,深入探讨了从Fastjson迁移至Jackson的完整方案、兼容性挑战与性能调优,为面临类似技

weixin_30634661的博客 385

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

RuoYi-Vue-Plus 后端编码约定与 CRUD 开发规范实战指南

本篇技术指南以 [.codex/skills/ruoyi-plus-ai-coding/references/backend.md](https://link.gitcode.com/i/e672d71693004e4dd124c100ad7364fa) 中的「后端约定」为骨架,结合 RuoYi-Vue-Plus 仓库的代码生成器模板与 common-mybatis 公共能力模块源码,系统讲解在新

gitblog_01178的博客 262

JavaWeb学习

#前端部分(了解)课程思路、前端要素(Web了解、html、JS、vue、ajax、Element等)传统路线现在课程大纲路线## 前端要素(Web了解、html)HTML语法特点基本标签html标签(span)html标签(a)html标签(video)盒子模型:html标签(div)html标签(表格)html标签(表单)## 前端要素(JS)JS引入方式JS基础语法JS函数JS对象(基础(只关注Array、String、JSON)、BOM、DOM)JS事件监听## 前端要素(Vue)插值表达式Vue常

qq_2634545805的博客 430

JavaWeb知识点

1.Maven中的仓库用来存储什么的?Maven的仓库是用来存储和管理jar包的2.Maven中有哪几类仓库?查找依赖(jar)的顺序是什么样的?本地仓库(1)远程仓库(2)中央仓库(3)

ql200106的博客 304

工作中使用到的单词(软件开发)_第五版

本文摘要: 本文为软件开发相关的术语与技术要点整理,主要包含2020-2025年间四版内容更新(No.01-41)。重点包括: 证书文件格式(PEM/P12)差异 外部API通信注意事项(Accept头设置、HTTPS连接问题) Postman工具使用技巧(Cookie管理、请求头设置) WAS配置相关经验(JVM设置、SSL连接问题) 数据库操作命令(DB2表结构修改) IBM安全管理组件(TAM/iv-user机制) 网络通信细节(chunked传输编码特性) 常用开发工具(curl、Postman)的

sun0322 2521

147.【2024Java八股-全网最全-10w字】

eg: 学校、院校、经验、年龄、跳槽频率…基本包括16种常见使用场景: 、数据共享分布式、、全局 ID、计数器、限流、位统计、购物车、用户消息时间线 timeline、、抽奖、点赞、签到、打卡、商品标签、商品筛选、用户关注、推荐模型、排行榜.详细讲解16种使用场景: https://blog.youkuaiyun.com/zxl646801924/article/details/123202381用户使用id进行查询文章的时候,首先会查询redis数据库,如果在redis中命中数据,那么redis就向用户返回查询的结果

qq_69683957的博客 1736

springboot希腊神话推荐系统98276-计算机课程设计/毕业设计

管理员可对系统信息进行全面管理,包括用户管理、神话人物管理、故事篇章管理、评论管理、公告资讯管理、系统数据统计等。管理员可以对所有内容进行增删改查操作,审核用户评论,维护系统正常运行等

Biye_Design的博客 424

Android 开源项目分类汇总(android-open-project)完整指南:个性化控件、工具库与开发测试工具全景索引

android-open-project 是一个**分类汇总型的 Android 开源项目索引仓库**,其价值不在于提供可运行的源码,而在于用一套清晰、可检索的分类体系,把海量第三方开源项目按"控件 → 库 → 项目 → 工具 → 人"的维度组织起来。 从 [docs/oss-program-readiness.md](https://link.gitcode.com/i/c52df8b982c

gitblog_00983的博客 438

并行分布式框架:Celery、rq、funboost

Celery是一个异步任务的调度工具,也可以叫做 "分布式任务队列(Distributed Task Queue)"。

freeking101的博客 5万+

将json文件转换为xml文件,并写入相关属性

将json文件转换为xml文件,并写入相关属性

weixin_43453727的博客 4291

数据传输:XML& JSON 你不得不知道的知识

XML 可扩展标记语言(eXtensible Markup Language)。 JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.

BudingCode的博客 1507
上一篇: Spring Boot获取配置文件内容方法总结
下一篇: 跨域,跨域解决方法
喵喵@香菜
博客等级 码龄10年 1万+粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵喵@香菜

感谢观众老爷送的一发火箭!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值