精华内容
下载资源
问答
  • 相关背景:老项目重构,后端返回xml格式数据。前端有现有的vue项目底层框架可以复用,现有框架支持对后端返回的json数据进行解析,需要调整的就是对xml格式数据的解析。前端对后端接口的请求使用axios进行封装,且有...

    相关背景:

    老项目重构,后端返回xml格式数据。

    前端有现有的vue项目底层框架可以复用,现有框架支持对后端返回的json数据进行解析,需要调整的就是对xml格式数据的解析。

    前端对后端接口的请求使用axios进行封装,且有mock数据方便本地联调开发。

    解决方案:

    封装xml解析相关方法;

    根据后端接口返回数据格式边写xml文件进行后端数据mock;

    mock数据的实现:

    json格式的数据可以直接编写json格式的数据进行模拟,可以很方便的进行解析。

    xml格式的数据如果直接写成字符串格式的,更新管理起来会比较麻烦,因此可以直接编写xml文件进行模拟。

    对于mock接口数据的xml文件,可以在mock数据请求封装中直接对xml文件进行读取解析。

    xml解析相关函数封装:

    xmlLoad.js

    1 /**2 * 加载xml文件3 * @param {Object} dname4 */

    5 functionloadXMLDoc(dname) {6 let xhttp7 if(window.XMLHttpRequest) {8 xhttp = newXMLHttpRequest();9 } else{10 xhttp = new ActiveXObject("Microsoft.XMLHTTP");11 }12 xhttp.open("GET", dname, false);13 xhttp.send();14 returnxhttp.responseXML;15 }16

    17 /**18 * xml字符串转换xml对象数据19 * @param {Object} xmlStr20 */

    21 functionxmlStr2XmlObj(xmlStr) {22 var xmlObj ={};23 if(document.all) {24 var xmlDom = new ActiveXObject("Microsoft.XMLDOM");25 xmlDom.loadXML(xmlStr);26 xmlObj =xmlDom;27 } else{28 xmlObj = new DOMParser().parseFromString(xmlStr, "text/xml");29 }30 returnxmlObj;31 }32

    33 /**34 * xml直接转换json数据35 * @param {Object} xml36 */

    37 functionxmlObj2json(xml) {38 try{39 var obj ={};40 if (xml.children.length > 0) {41 for (var i = 0; i < xml.children.length; i++) {42 var item =xml.children.item(i);43 var nodeName =item.nodeName;44 if (typeof(obj[nodeName]) == "undefined") {45 obj[nodeName] =xmlObj2json(item);46 } else{47 if (typeof(obj[nodeName].push) == "undefined") {48 var old =obj[nodeName];49 obj[nodeName] =[];50 obj[nodeName].push(old);51 }52 obj[nodeName].push(xmlObj2json(item));53 }54 }55 } else{56 obj =xml.textContent;57 }58 returnobj;59 } catch(e) {60 console.log(e.message);61 }62 }63

    64 /**65 * xml字符串转换json数据66 * @param {Object} xml67 */

    68 functionxmlStr2json(xml) {69 var xmlObj =xmlStr2XmlObj(xml);70 var jsonObj ={};71 if (xmlObj.childNodes.length > 0) {72 jsonObj =xmlObj2json(xmlObj);73 }74 returnjsonObj;75 }76

    77 export default{78 loadXMLDoc,79 xmlStr2XmlObj,80 xmlObj2json,81 xmlStr2json82 }

    mock后端返回数据:

    mocklist.xml

    000000

    请求成功

    001

    001

    0

    http://xxx.com.jpg

    0

    http://xxx.com

    描述

    002

    002

    0

    http://xxx.com.jpg

    1

    /myTask

    描述

    ...

    如上,高亮部分的标签可以看做是mock接口的名称,与前端对接口请求的封装函数名对应,如下:

    request.js

    import request from '@api/request'const {

    errorToast,

    http

    }=request/**

    * 导出接口请求

    * noNeedLogin: true 无需登录

    * noPreError: true 无需预处理错误信息*/exportdefault{

    errorToast,//检验用户登录有效性

    searchBanners(params) {returnhttp({

    api:"searchBanners",

    data: params

    })

    },

    ......

    注:经验证,xml文件需要放在static文件夹中,本地编译vue项目后,能直接在浏览器中访问该文件,以便于xml文件的读取。

    xml文档中mock数据的读取:

    request.js

    1 import axios from "axios"

    2 ......3 import xmlLoad from '@assets/js/xmlLoad'

    4 /**5 * 封装mock数据模拟接口请求6 */

    7 let http2;8 if (isLocal) http2 = (params) =>{9 var self = this

    10 let dname = location.origin + '/static/mocklist.xml'

    11 return new Promise((resolve, reject) =>{12 //读取xml中的数据

    13 let xmlNodes = xmlLoad.loadXMLDoc(dname) //xml数据读取

    14 if(!xmlNodes) return;15 let xmlJson = xmlLoad.xmlObj2json(xmlNodes) //xml转换为json格式数据

    16 let mocklist = xmlJson['Apilist'] //mock数据列表

    17 setTimeout(() =>{18 //获取当前访问接口名及mock数据

    19 let key =params.api20 var data =mocklist[key].ApiResult21 resolve(data)22 })23 }24

    25 export default{26 errorToast,27 http: isLocal ?http2 : http28 }

    后端接口真实数据的读取:

    request.js

    1 import axios from "axios"

    2 import xmlLoad from '@assets/js/xmlLoad'

    3 ......4

    5 /**6 * 封装服务器端接口请求方法7 */

    8 const http = (params) =>{9 return new Promise((resolve, reject) =>{10 axios.request({11 url: '/xxxx.do',//后端访问接口地址

    12 params: params.data,13 method: params.method || 'POST'

    14 }).then(function(res) {15 //解析接口返回的xml字符串数据

    16 let xmlStr =res.data;17 let xmlJson =xmlLoad.xmlStr2json(xmlStr)18 let data = xmlJson && xmlJson["ApiResult"]19 if (res.status == 200 &&data) {20 ......21 resolve(data)22 } else{23 errorToast();24 console.log(data)25 }26 }).catch(function(e) {27 errorToast();28 reject(e)29 });30 })31 }32

    33 /**34 * 封装mock数据模拟接口请求35 */

    36 let http2;37 ......38

    39 export default{40 errorToast,41 http: isLocal ?http2 : http42 }

    如上,即实现了对后端接口数据的模拟,方便本地开发,同时对xml格式数据处理方面也只是在请求封装中进行,页面中的实现未受影响。

    注意事项:

    对于xml到json的转换,因xml本身并没有数组的概念,所以需要注意我们需要的“数组”如果只有一条数据的异常处理。

    1

    2

    3 001

    4 001

    5 xxxx

    6 0

    7 {"tag_name":"xxxx","tag_pic_url":"https://xxxx.jpg","task_begin_time":"2020.06.20","task_end_time":"2020.07.20"}

    8

    9

    如上面代码,如果只有一个 UserTask ,那么解析出来将是一个Object对象:

    //只有一个UserTask

    data:{

    UserTask:{

    ......

    }

    }

    如果有多个,则是数组:

    //有多个UserTask

    data:{

    UserTask:[{

    ......

    },{

    ......

    },{

    ......

    }]

    }

    对于这个情况,可以封装一个函数进行转换,以方便前端进行页面布局与数据渲染。代码如下:

    1 /**2 * xml解析后的列表转换为js的数组3 * @param {Object} xmlList4 */

    5 functionxmlListToArr(xmlList) {6 let targetArr =[]7 if (xmlList.constructor ==Array) {8 targetArr =xmlList9 } else{10 targetArr[0] =xmlList11 }12 returntargetArr13 }

    如上,可以封装在公共函数里边,在页面中有从后端请求的列表数据需要渲染时,就可以调用这个函数进行数据处理。

    这里还需要注意这些问题:

    大部分列表数据都需要进行数组化处理:毕竟大部分列表的数据都当然,如果是几个简单的图片列表的展示,那可以考虑单个图片的展示,不必要把单个图片也转换成数组;

    数组化处理操作在具体页面具体业务代码中进行:列表数据的处理由于xml中没有数组的概念,所以没办法很好的进行集中封装处理,因此可以在具体页面的具体数据进行处理;

    可以集中封装处理的情况:如果知道后端返回接口所有列表类数据都严格包含某个字符串,如list,那么可以直接在xml解析函数中进行拦截处理就好了。

    展开全文
  • 我们想要返回给前端类似这样的格式 { #返回状态码 code: integer, #返回信息描述 message: string, #返回值 data: object } 思路 我们使用一个类的模板包裹data数据即可,具体参考代码 代码 (1)pom.xml ...

    要求

    我们想要返回给前端类似这样的格式

    {
    	#返回状态码
    	code: integer,		
    	#返回信息描述
    	message: string,
    	#返回值
    	data: object
    }
    

    思路

    我们使用一个类的模板包裹data数据即可,具体参考代码

    代码

    (1)pom.xml 依赖

    使用lombok简化代码

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.16.10</version>
            </dependency>
    
    (2)ResultCode 枚举

    这里我们列举了一些,常见的返回code和message.

    @Getter
    public enum ResultCode {
        /** 成功*/
        SUCCESS(200,"成功"),
        FAIL(1000,"失败"),
        /** 错误参数*/
        PARAM_IS_INVALID(1001,"参数无效"),
        PARAM_IS_BLANK(1002,"参为空"),
        PARAM_TYPE_ERROR(1003,"参数类型错误"),
        PARAM_NOT_COMPLETE(1004,"参数缺失"),
        /** 用户错误*/
        USER_NOT_LOGIN_IN(2001,"用户未登录"),
        USER_LOGIN_ERROR(2002,"账号不存在或者密码错误"),
        USER_ACCOUNT_FORBIDDEN(2003,"账户被禁用"),
        USER_NOT_EXISTS(2004,"用户不存在"),
        USER_HAS_EXISTED(2005,"用户已存在");
    
        /** 错误代码*/
        private Integer code;
        /** 提示信息*/
        private String message;
    
        private ResultCode(Integer code, String message) {
            this.code = code;
            this.message = message;
        }
    
    
    }
    
    
    (3)Result工具类
    • 这里使用泛型(解决controller方法返回Result对象没有含义的问题)
    • 只是暴露给外面可调用的静态方法
    
    @Data
    public  class Result<T> {
    
        private Integer code;
    
        private String message;
    
        private  T data;
        private Result(){
            this.code = 200;
            this.message = "ok";
            this.data = null;
        }
        private Result(ResultCode resultCode,T data){
            this.code = resultCode.getCode();
            this.message = resultCode.getMessage();
            this.data = data;
        }
    
        /**
         * 暴露外面静态方法. 成功
         */
        public static <E> Result success(E data){
            return new Result<E>(ResultCode.SUCCESS,data);
        }
    
        /**
         * 失败
         */
        public static <E> Result fail(E data){
            return new Result<E>(ResultCode.FAIL,data);
        }
    
    }
    

    结果

    result
    在这里插入图片描述

    参考文档:https://zhuanlan.zhihu.com/p/265318078
    (这里有基于拦截器Handler的方法,更合适APO的思想)

    展开全文
  • Java xml数据格式返回实现

    千次阅读 2019-03-23 11:47:51
    前言:对于服务器后端开发,实现的大部分接口,返回数据格式一般要求都是json,但是也有使用xml格式的 网上有多种实现方式,这里使用注解的方式把java类 使用@RequestBody实现Java对象和XML/JSON数据自动转换 ...

    前言:对于服务器后端开发,接口返回的数据格式一般要求都是json,但是也有使用xml格式

    RequestBody注解

    对于SpringMVC,很多人会认为接口方法使用@Controller搭配@ResponseBody和@RequestMapping注解后,java对象会转换成json格式返回。

    但实际上配合@ResponseBody注解后,接口返回的数据类型是根据HTTP Request Header中的Accept属性来确定的,可以是XML或者JSON数据

    通过适当的HttpMessageConverter对java对象进行格式转换,常用的有:

    1. ByteArrayHttpMessageConverter: 负责读取二进制格式的数据和写出二进制格式的数据;
    2. StringHttpMessageConverter: 负责读取字符串格式的数据和写出二进制格式的数据;
    3. ResourceHttpMessageConverter:负责读取资源文件和写出资源文件数据;
    4. FormHttpMessageConverter: 负责读取form提交的数据;
    5. MappingJacksonHttpMessageConverter: 负责读取和写入json格式的数据;
    6. SouceHttpMessageConverter:负责读取和写入 xml 中javax.xml.transform.Source定义的数据;
    7. Jaxb2RootElementHttpMessageConverter: 负责读取和写入xml 标签格式的数据;
    8. AtomFeedHttpMessageConverter: 负责读取和写入Atom格式的数据;
    9. RssChannelHttpMessageConverter: 负责读取和写入RSS格式的数据

    具体使用哪个怎么判断这里就不细讲了,我们关心的是Jaxb2RootElementHttpMessageConverter这个方法,后面会讲为啥会提

    java对象与xml之间互相转换

    使用Java自带注解的方式实现(@XmlRootElement,@XmlAccessorType,@XmlElement,@XmlAttribute),具体使用方法网上有很多

    这里直接代码举例

    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlType;
    
    @XmlRootElement(name = "city")
    @XmlType(propOrder = { "name","province"})
    public class City {
        private String name;
        private String province;
    
        public City() {
        }
    
        public City(String name, String province) {
            this.name = name;
            this.province = province;
        }
    
        public String getName() {
            return name;
        }
    
        @XmlElement
        public void setName(String name) {
            this.name = name;
        }
    
        public String getProvince() {
            return province;
        }
    
        @XmlElement
        public void setProvince(String province) {
            this.province = province;
        }
    }
    

    controller

    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class IndexController {
    
        @RequestMapping(path = "/get")
        @ResponseBody
        public City getXml(){
            City city= new City("太原","山西");
            return city;
        }
    }
    

    请求http://localhost:8080/get 返回结果如下
    在这里插入图片描述
    是不很容易就实现接口返回xml格式

    使用<![CDATA[]]>

    对象属性中有可能存在计算逻辑’<‘或’>’,而在xml文件中这两个符号是不合法的,会转换为&lt和&gt,这样数据就’坏’了,所以<![CDATA[]]>的加入是非常有必要的!

    一般实现:使用XmlAdapter定义一个CDataAdapter类,网上也有很多代码

    大概的实现如下

    public class CDataAdapter extends XmlAdapter<String, String> {
     
        @Override
        public String unmarshal(String v) throws Exception {
        	// 我们这里没有xml转java对象,这里就不具体实现了
            return v;
        }
     
        @Override
        public String marshal(String v) throws Exception {
            return new StringBuilder("<![CDATA[").append(v).append("]]>").toString();
        }
     
    }
    

    然后使用注解XmlJavaTypeAdapter作用于属性变量上

    
    	@XmlJavaTypeAdapter(value=CDataAdapter.class)
        @XmlElement
        public void setProvince(String province) {
            this.province = province;
        }
        
    

    结果

    在这里插入图片描述
    但是实际上看源码
    在这里插入图片描述
    这个不是我们希望的,产生原因是Jaxb默认会把字符’<’, '>'进行转义, 下面解决这个问题

    我们使用org.eclipse.persistence.oxm.annotations.XmlCDATA注解来解决

    使用EclipseLink JAXB (MOXy)

    pom文件增加

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.moxy</artifactId>
        <version>xx版本</version>
    </dependency>
    

    上一节中的属性使用注解

    ...
    import org.eclipse.persistence.oxm.annotations.XmlCDATA;
    
        ...
        ...
    	@XmlCDATA  
        @XmlElement
        public void setProvince(String province) {
            this.province = province;
        }
    

    注意:一定要设置jaxb.properties文件,并且要放在要转换成xml的java对象所在目录,并且要编译到target中,不然XmlCDATA注解不生效

    jaxb.properties文件内容,就是指定创建JAXBContext对象的工长

    javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
    
    

    到这里配置完成

    展开全文
  • 2、JSON 是是轻量级的文本数据交换格式。类似 XML,但 比 XML 更小、更快,更易解析。 3、JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持...

    一、什么是JSON?

    1、JSON(JavaScript Object Notation):JavaScript 对象表示法
    2、JSON 是是轻量级的文本数据交换格式。类似 XML,但 比 XML 更小、更快,更易解析。
    3、JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
    4、JSON 具有自我描述性,更易理解
    (以上段落摘自菜鸟)

    二、JSON的语法规则

    JSON的类型:
    对象型、数组型(数组中可以包含多个对象)

    JSON的语法规则:

    数据在名称/值对中 "key":"value"
    数据由逗号分隔
    {} 保存对象
    [] 保存数组

    JSON值的类型:

    数字
    字符串
    Boolean(true 或 false)
    数组
    对象
    null

    JSON文件:

    JSON 文件的文件类型是 “.json”
    JSON 文本的 MIME 类型是 “application/json”

    备注:以上摘自菜鸟


    举例:
    建立单个JSON

        var res = {
            "name": "张三",
            "sex": "男",
            "age": 18,
            "hobby": [
                {
                    "name": "篮球"
                },
                {
                    "name": "足球"
                },
                {
                    "name": "羽毛球"
                }
            ]
        };
    

    集合类型的JSON

        var list = [
            {
                "id": "10001",
                "name": "陕西省",
                "child": [
                    {
                        "id": "100011",
                        "name": "宝鸡市"
                    },
                    {
                        "id": "100012",
                        "name": "宝鸡市"
                    }
                ]
            },
            {
                "id": "10002",
                "name": "甘肃省",
                "child": [
                    {
                        "id": "100021",
                        "name": "酒泉"
                    },
                    {
                        "id":"100022",
                        "name":"兰州"
                    }
                ]
            }
        ];
    

    三、JSON字符串和JSON对象相互转换

    JSON 通常用于与服务端交换数据,接收到的服务器数据一般是字符串,但JavaScript 中一般使用的是JSON对象,所以就需要相互转换。转换方法如下:

    JSON.stringify(); JSON对象转化为JSON字符串
    JSON.parse(); 字符串JSON转化为JSON对象

    举例:

    var str=JSON.stringify(list); 
    console.log(str);   //字符串
    console.log(JSON.parse(str));    //对象
    

    四、JSON数据的使用

    JSON数据导入HTML元素的方法:
    1、直接使用变量

    <span>姓名:</span><span id="name"></span>
    <span>性别:</span><span id="sex"></span>
    <script>
    var person={
            "name":"张三",
            "sex":"男"
        }
        document.querySelector("#name").innerHTML=person.name;
        document.querySelector("#sex").innerHTML=person.sex;
    </script>
    

    2、拼接字符串的方式

    <ul id="menu"></ul>
    <script>
    var data=[
            {
                "name":"李四"
            },
            {
                "name":"张三"
            },
            {
                "name":"王五"
            }
        ];
        
        var str="";
        for(var i=0;i<data.length;i++)
        {
            str+="<li>"+data[i].name+"</li>";
        }
        document.querySelector("#menu").innerHTML=str;
    </script>
    
    展开全文
  • 最近在做react前端项目的时候,遇到后端返回的json格式数据在前端UI界面中,中文显示问号 解决方法如下: springboot中,在@RequestMapping里加上:produces = {“application/json;charset=UTF-8”},如图: @...
  • springmvc的@ResponseBody注解是返回果json格式数据,今天在写代码的时候后端也没有报错,但是莫名其妙地返回了如下格式,找了好半天错误发现原来是类的属性忘了设置get方法。 加上get方法后返回了正确的格式...
  • 一开始以为是后端返回的JSON有问题,后来用了POSTMAN测试,取出来的数据还是可以被浏览器解析的。 后来百度发现原因是spring-cloud-starter-netflix-eureka-server中依赖了jackson-dataformat-xml。 修改前: ...
  • xml数据就要复杂一点了,让我们看一下xml数据的格式 那么怎样构造呢? 3.制作生产接口数据的类 <?php //定义生成接口数据类 class Api { /* * 生成json数据格式 * @param integer $code 状态码
  • 文章目录Bind HTML checkboxesMultipart/Urlencoded 绑定XML, JSON, YAML ...学web最起码要搞一个浏览器get请求后端,然后后端渲染html页面,然后提交post请求,然后后端返回结果 代码很简单直接上后端代码 packag...
  • 在SpringMVC中,我们可以通过@ResponseBody注解来返回JSON数据或者是XML数据。一般返回的是更轻量级的JSON 格式数据,移动端的Android、IOS客户端和Web网页前端都可以利用JSON解析器很好地解析出数据并展示。相同的...
  • JSON是使用比较广泛的一种数据传输格式,是我们程序猿开发的必备技能之一,当然XML也是比较熟悉的数据交换方式,但XML使用起来比较复杂,不方便,而且标记比数据多,感觉比较浪费流量,JSON就相对比较轻快、方便,...
  • 在使用ajax时,回调函数需要接受多个参数,查询资料,得知使用json格式数据比较好(当然也可以使用xml)。由于项目使用的是django,这就牵扯到django后端如何传输json数据。网上查找资料,得知一个比较简单的方法...
  • PHP接口数据的封装XML和JSON

    千次阅读 2016-05-09 15:46:32
    1.JSONjson数据是最容制造的,只要使用php自带的json_encode()函数就可以简单的制作出json数据了2.XMLxml数据就要复杂一点了,让我们看一下xml数据格式 那么怎样构造呢?3.制作生产接口数据的类 //定义生成...
  • 在SpringMVC中,我们可以通过@ResponseBody注解来返回JSON数据或者是XML数据。 这个注解的作用是将控制器方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,也就是HTTP响应的内容体...
  • xml的解析

    2017-08-05 14:54:23
    后端返回数据xml格式的,以前做的项目都是json.稍微了解了下dom4j. 返回的数据 response = %7B%22%u4F60%u4F20%u5165%u7684abc%22%3A124%2C%22%u4F60%u4F20%u5165%u7684def%22%3A%22iikkkk%22%7D Document...
  • 1. 简介本文介绍使用SpringMVC的后端... 基础概念2.1 HttpHeader中Content-Type和Accept设置的区别Accept:接口要返回给客户端的数据格式1curl --header 'Accept:application/json' http://localhost:8080/todoCont...
  • 一、初识 ajax ajax 是Asynchronous Javascript And XML四个单词的简写,粗略翻译为:异步的Javascript 和 ...XML用来存放数据,前端用XML格式发送数据后端后端也发送XML格式数据给前端,前段也好处理(相当于中
  • 一般情况下有此可能 @ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML 情况2: 也就是我帮同事调BUG时...
  • 数据解析

    2016-04-28 12:55:00
    数据解析 1 数据传输过程 ... 后端:响应(服务器开发:...前端和后端交互的"数据格式": XML/JSON 数据解析. XML/"JSON" ----> OC 客户端发送请求给服务器,服务器接收到客户端的请求之后,返回给客户端JS...
  • 数据解析小记

    2019-09-23 01:38:43
    数据传输过程 ... 后端:响应(服务器开发:php/java/.net) ...前端和后端交互的"数据格式": XML JSON 数据解析. XML/"JSON"----> OC 客户端发送请求给服务器,服务器接收到客户端的请求之后,返回给客...
  • 流程:前端创建订单,后端保存订单并调用微信统一下单接口,将微信返回的预支付回话标识返回给客户端。 统一下单: 1.统一下单参数设置(map) ...4.解析微信返回xml格式数据,并根据业务需求,格式化后返回给客户端
  • 这种方式其实就是让后端暴露出数据,让前端回来填充页面,数据格式可以是json或者xml,这种方式的缺点是很依赖前后端的沟通。 方案二 服务器接收用户请求 寻找处理程序 处理程序将相应的前端界面传输给用户,但...
  • AJAX 处理数据 tp5

    千次阅读 2018-06-06 16:27:25
    后端: public function create() { $data['msg'] = '我是龙哥'; $data['tel'] = '17630065407'; // json 对象格式 返回数据 // return json($data)... // xml 格式 返回数据 // return xml($data,$code=200); ...
  • PHP中json数据的转换

    千次阅读 2019-04-05 00:02:39
    先说一说JSON,JSON数据其实就是一个string,前端一般和后端传递数据选择JSON是因为 (1)JSON是纯文本格式,是独立于语言和平台的。...后端将这个json数据(string)返回给前端,前端再对这个json数据也就是string...
  • springMvc 学习03

    2020-12-21 22:07:09
    RESTful 风格 后端返回视图 只返回一段数据 json格式 或者xml数据
  • php API接口分析以及思考

    千次阅读 2018-07-22 10:23:57
    最近技术群上有人问接口要怎么写,做了这么多接口的我思考了一下,打算告诉他,接口其实就是APP或者WEB请求后端写的一个方法即请求数据,后端返回约定好的数据格式。说到数据格式,一般都会选择用json格式,其它像...
  • json字符串

    2018-07-28 15:23:20
    json字符串 什么是json? json字符串是数据交互格式,常见的数据交互格式除了json还有xml,json比xml更简单, json的格式 1.数组格式 [{ "...//前后端分离,推荐后端返回给前端数据格式 { &q

空空如也

空空如也

1 2 3 4 5
收藏数 96
精华内容 38
关键字:

后端返回xml数据格式