GVKun编程网logo

WordPress JSON 处理相关函数大全(wordpress json api)

6

对于想了解WordPressJSON处理相关函数大全的读者,本文将是一篇不可错过的文章,我们将详细介绍wordpressjsonapi,并且为您提供关于Ajax&Json4.Json的使用&Ajax与

对于想了解WordPress JSON 处理相关函数大全的读者,本文将是一篇不可错过的文章,我们将详细介绍wordpress json api,并且为您提供关于Ajax & Json 4.Json 的使用 & Ajax 与 Json 配合使用、Android - 封装 JSON 数据(JSON 对象 / JSON 数组)、angular – 如何创建配置文件(tsconfig.json,typings.json,package.json)?、Arduino JSON over Serial,Json.Parse 返回意外的 JSON 输入的有价值信息。

本文目录一览:

WordPress JSON 处理相关函数大全(wordpress json api)

WordPress JSON 处理相关函数大全(wordpress json api)

json处理是wordpress开发中的经常需要处理的一项工作,为此wordpress 定义了一堆json处理的函数,下面由wordpress教程栏目给大家做一下统一的介绍。

WordPress JSON 处理相关函数大全

wp_json_encode

编码成 JSON,并且进行一些完整性检查。

wp_json_encode( $data, $options = 0, $depth = 512 )
登录后复制

简单说下 WordPress 引进这个函数的原因:

首先不同 PHP 版本 json_encode 函数支持不同的参数。PHP 5.3 之前只支持 一个参数 $data,PHP 5.3 引进了 $options 参数,PHP 5.5 又引进了 $depth 参数。所以 WordPress 适配不同版本的 PHP,wp_json_encode 都支持三个参数,兼容不同版本的 PHP。

在 json_encode 之前,wp_json_encode 使用函数 _wp_json_prepare_data 对数据进行清理,如果 boolean,integer,double,string,NULL 这些类型,直接返回,如果数组,继续使用 _wp_json_prepare_data 函数对数组中的每个元素进行清理,如果是对象,如果该对象的 class 实现了 JsonSerializable 接口,则返回 $data = $data->jsonSerialize(),否则,继续使用 _wp_json_prepare_data 对对象中的每个属性进行清理。

然后使用 json_encode 进行编码,如果不成功,则使用 _wp_json_sanity_check 对数据进行完整性处理,最后再使用 json_encode 进行编码。_wp_json_sanity_check 主要使用函数 _wp_json_convert_string 对数据进行深度 UTF-8 检测和转换。

所以建议使用 wp_json_encode 对变量进行 JSON 编码,它的可靠性更高。

wpjam_json_encode

wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )
登录后复制

PHP5.4 JSON 新增了一个选项:JSON_UNESCAPED_UNICODE,故名思议:不要编码成 Unicode,让中文更可读。

所以我们写了一个 wpjam_json_encode 函数,相比 wp_json_encode,就是将 $options 参数默认值设置为 JSON_UNESCAPED_UNICODE,这样直接使用 wpjam_json_encode($data),中文就不会被编码成 unicode,更可读。

只要你安装 WPJAM Basic 插件,你的 WordPress 就会有这个函数。

wp_send_json

直接发送 JSON 数据。

wp_send_json( $response, $status_code = null )
登录后复制

他首先输出 application/json 的 Content-Type 头,如果 $status_code 不为空,则输出 $status_code 的状态码。

然后调用 wp_json_encode 对数据进行编码。

wpjam_send_json

wpjam_send_json( $response, $status_code = null )
登录后复制

同样为了能够 JSON 编码之后,中文更可读,我们也写了 wpjam_send_json 函数,它和 wp_send_json 几乎一致,只是调用对数据进行编码的函数是 wpjam_json_encode。

另外如果传入的数据是 WP_Error 的实例,那么 wpjam_send_json 直接输出 errcode 和 errmsg JSON。如果没有设置 errcode,则 wpjam_send_json 自动加上 errcode=>0

安装 WPJAM Basic 插件,你的 WordPress 就会有这个函数。

wp_send_json_success 和 wp_send_json_error

WordPress 还提供 wp_send_json_success 和 wp_send_json_error 两个函数:

wp_send_json_success( $data = null, $status_code = null )
wp_send_json_error( $data = null, $status_code = null )
登录后复制

wp_send_json_success 先输出 success 为 true,然后把数据 $data 放到 data 里面输出。wp_send_json_error 则会判断 $data 是否为 WP_Error 实例,如果是,则输出 code 和 message 的数组。我们实现的 wpjam_send_json 已经能够自动化处理这些错误了。

wp_is_json_request

判断当前请求是不是 JSON 请求,或者返回 JSON 结果,这个函数没有参数,直接使用:

wp_is_json_request()

它通过判断 $_SERVER[''HTTP_ACCEPT''] 中含有 application/json,或者 $_SERVER[''CONTENT_TYPE''] 等于 application/json。

wp_is_jsonp_request

判断当前请求是不是 JSONP 请求,或者返回 JSONP 结果,这个函数没有参数,直接使用:

wp_is_jsonp_request()

它首先判断 $_GET[''_jsonp''] ,是否存在,然后通过函数 wp_check_jsonp_callback 判断它的值是否合法。

wp_check_jsonp_callback

判断 JSONP callback 是不是一个一个合法的 JavaScript callback 函数:

wp_check_jsonp_callback( $callback )

合法的 JavaScript callback 函数只能数字加字符,以及英文点号。

以上就是WordPress JSON 处理相关函数大全的详细内容,更多请关注php中文网其它相关文章!

Ajax & Json 4.Json 的使用 & Ajax 与 Json 配合使用

Ajax & Json 4.Json 的使用 & Ajax 与 Json 配合使用

一、Json 的使用

我们上一篇讲述了 Json 的基本用法,我们还自己写了几个 Json。

我们在写的过程中不难发现,就是这个 \\ 这个转义符添加的问题,这要是让我们写上一个班级的学生数据,那就完蛋了,所以为了不让我们自己去一个一个写,我们引入两种常用的 Json 格式化的 工具

一个是谷歌公司推出的 Gson,还有一个是阿里巴巴推出的 Fastjson

这两个我们用那个都行,看自己选择,我先来说这个 Gson

在此之前,我们创建一个 Student 的类,我们一会要用~~

id 主键

name 姓名

createDt 创建日期

price 自己有多少钱

hobbies 爱好

自己再去添加一下 get/set 方法,还有构造、toString

二、Gson

首先,我们去 maven 仓库,把这个 Gson 的包给他下载下来,下载地址:https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.6

下载下来之后,我们放到我们之前的 AjaxHelloWorld 项目中

然后,我们来写一个 GsonTest。

首先,我们先实例化一个 Student 的集合,然后,给这个集合赋一些初始值,后面要用

然后我们来开始做操作

1. 实例化一个简单的 Json 对象

这里我们需要用到 Gson 给我们提供的 JsonObject 对象,我们用它来创建对象,然后调用 addProperty 方法,给这个对象添加键值对

这里注意一下,看清楚导入的包,我们使用的是 import com.google.gson.JsonObject; 运行一下

当然了,这里我们再来试试别的

注意,这里只能添加引用类型,不能添加基本数据类型的值!!

可以看到,我们又添加了一个 key 为 123 的对象,但是并没有显示,而是做了替换,这个就是我之前说的,同一个 key 不可能存在同一个层级下。

2. 实例化一个简单的 Json 数组

实例化 Json 数组,我们是使用的 Gson 给我们提供的 JsonArray,添加对象需要调用 add 方法,如下

然后我们创建两个 JsonObject 对象,存放到这个数组中

运行一下,看看输出什么

可以看到,是一个数组对象

3. 将 list 集合转换成 Json

我们再来写一个方法,将我们之前定义的 list 集合转换成我们的 Json,这里其实我们调用的是 Gson 提供的 toJson 方法,我们来看一下

我们运行一下,看看效果

是没有问题的,我们把结果复制到 Json 检查的网站去检测一下

也是没有问题的

这里我要说一下,这个 Gson 对象的 toJson 方法有很多重载方法,可以将很多种数据结构的对象转换成 Json 对象,大家可以自己去研究研究(集合都可以转换,更不要说单个对象什么的了)

4. 将 Json 转换成 Java 对象

我们将 Json 字符串 转换成 Java 对象,这里呢,我们用刚刚生成的 Json 来进行测试

这里呢,我们需要用到 Gson 给我们提供的 fromJson 方法,这个 fromJson 方法里面有很多的构造函数

可以看到,提供的很全哈,我们这里使用倒数第二个,这里还需要多加一个类的支持

还有一点,这里需要知道具体的 Json 对象的格式,不然会报错,一般情况下,我们都是知道这个格式,然后进行转换

我们把这个 Json 数组转换成 List 集合,然后进行遍历输出一下

是没有问题的啊,因为我们只有一个对象,所以只能遍历出一个,当然啊,这里字段需要对应,不对应也是没有办法将这些值赋值给我们的对象中的属性的

三、FastJson

其实,FastJson 和 Gson 非常类似,仅仅是调用的函数名称不同,参数不同点而已,其他的使用方式都是类似的,FastJson Maven 下载地址:https://mvnrepository.com/artifact/com.alibaba/fastjson/1.2.75

下载好同样扔到我们的项目中

这里我直接上代码了,不说那么多废话了

1. 创建普通 Json 对象

这里要注意一下,Gson 给我们提供的是 JsonObject,阿里的 FastJson 给我们提供的是 JSONObject 不一样啊,看清楚了~~

2. 创建 Json 数组

3. list 集合转换 Json

这里需要注意的是,JSONObject 这个对象使用 toJSON 方法后,返回的是一个 Object 对象,这个对象最好强转成 JSONArray,或者是 JSONObject 去接收

4. Json 字符串转换成对象

这里是因为 JSONObject 调用 parse 之后,返回的是一个 Object 对象,因为我知道他是什么类型的,所以我就使用 List 进行接收

 

总体来说,两个都功能差不多,性能方面,是 FastJson 更好,但是相比这样的强转,我更喜欢 Gson 的转换~,当然,具体使用什么,看你自己~

四、Json 和 Ajax 配合使用

这里我们用 Gson 来实现一下它俩的配合~

我们先来修改一下我们之前的那个 Servlet

我们使用 JsonObject 将 Json 返回到前端,前端我们不变,我们继续使用 index2.html 进行测试,启动服务器,我们看一下结果

是 OK 的啊。

我们接下来修改一下,我们使用 $.get 方式进行获取一下,我们再来复制一个 index3.html

从新启动一下服务器,我们再来看看能不能行

也是可以的

当然,POST 也是可以的

原因就是我们这里调用了 doGet 

 

Ajax 与 Json 就讲完了,希望大家可以好好学习理解他们,毕竟这玩意需要陪我们很久的

 

大家可以自己好好查查看,有不懂的可以联系我 QQ:2100363119

欢迎大家访问我的网站:https://www.lemon1234.com

可以的话关注一下我的公众号,就在我网站,每天都有更新~~~,无限资源畅游 Java,感谢~

最近小程序也开放了,大家可以扫码进行玩玩看

Android - 封装 JSON 数据(JSON 对象 / JSON 数组)

Android - 封装 JSON 数据(JSON 对象 / JSON 数组)

Android - 封装 JSON 数据(JSON 对象 / JSON 数组),一般情况下不会在 Android 端封装 JSON 的数据,因为封装 JSON 的数据是在服务器端进行封装了,Android 更多的工作是解析(JSON 对象 / JSON 数组)

 

而且在服务端封装 JSON 会更加简单灵活:

  例如:JsonTools.createJsonString ("persons", list);/JsonTools.createJsonString ("person", person);

 

而这篇博客是讲解在 Android - 封装 JSON 数据(JSON 对象 / JSON 数组),只为熟悉 JSON 数据格式真实开发中更多的是去解析 JSON 数据(JSON 对象 / JSON 数组)

 


 


注意:⚠ 千万不要 jsonObject.toString ()
否则会 在前面加 "后面也加" , 都在 json 数据有问题

package liudeli.mynetwork01;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.FileOutputStream;

public class MainActivity extends Activity {

    private final String TAG = MainActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * 封装JSON对象数据
     * {
     * "name":"李四",
     * "age":99,
     * "hobby":"爱好是练习截拳道"
     * }
     *
     * @param view
     */
    public void pottingJSON1(View view) {
        JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("name", "李四");
            jsonObject.put("age", 99);
            jsonObject.put("hobby", "爱好是练习截拳道");
        } catch (JSONException e) {
            e.printStackTrace();
        } finally {
            Log.d(TAG, "jsonObject:" + jsonObject);
            saveJSONDataToFile("pottingJSON1", jsonObject);
        }

    }

    /**
     * 封装JSON对象-带Key(student)
     * {
     * "Student":{
     * "name":"李四",
     * "age":99,
     * "hobby":"爱好是练习截拳道"
     * }
     * }
     *
     * @param view
     */
    public void pottingJSON2(View view) {
        JSONObject jsonObjectALL = null;
        try {
            // student json 对象
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", "李四");
            jsonObject.put("age", 99);
            jsonObject.put("hobby", "爱好是练习截拳道");

            // 整个最大的 json 对象
            jsonObjectALL = new JSONObject();

            /**
             * 注意:⚠ 千万不要jsonObject.toString()
             * 否则会 在前面加"  后面也加"  , 都在json数据有问题
             */
            jsonObjectALL.put("student", jsonObject);

        } catch (JSONException e) {
            e.printStackTrace();
        } finally {
            Log.d(TAG, "jsonObjectALL:" + jsonObjectALL);
            saveJSONDataToFile("pottingJSON2", jsonObjectALL);
        }
    }

    /**
     * 封装JSON对象-嵌套对象
     * {
     *     "student":{
     *         "name":"李四",
     *         "age":99,
     *         "hobby":"爱好是练习截拳道",
     *         "dog":{
     *             "name":"阿黄",
     *             "age":"77",
     *             "sex":"母"
     *         }
     *     }
     * }
     * @param view
     */
    public void pottingJSON3(View view) {
        JSONObject jsonObjectALL = null;
        try {
            // dog json 对象
            JSONObject dogJSONObject = new JSONObject();
            dogJSONObject.put("name", "阿黄");
            dogJSONObject.put("age", 77);
            dogJSONObject.put("sex", "母");

            // student json 对象
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", "李四");
            jsonObject.put("age", 99);
            jsonObject.put("hobby", "爱好是练习截拳道");

            /**
             * 注意:⚠ 千万不要dogJSONObject.toString()
             * 否则会 在前面加"  后面也加"  , 都在json数据有问题
             */
            jsonObject.put("dog", dogJSONObject);

            // 整个最大的 json 对象
            jsonObjectALL = new JSONObject();

            /**
             * 注意:⚠ 千万不要jsonObject.toString()
             * 否则会 在前面加"  后面也加"  , 都在json数据有问题
             */
            jsonObjectALL.put("student", jsonObject);

        } catch (JSONException e) {
            e.printStackTrace();
        } finally {
            Log.d(TAG, "jsonObjectALL:" + jsonObjectALL);
            saveJSONDataToFile("pottingJSON3", jsonObjectALL);
        }
    }

    /**
     * 封装JSON数组
     * [
     *     {
     *         "name":"君君",
     *         "age":89,
     *         "sex":"男"
     *     },
     *     {
     *         "name":"小君",
     *         "age":99,
     *         "sex":"女"
     *     },
     *     {
     *         "name":"大君",
     *         "age":88,
     *         "sex":"男"
     *     }
     * ]
     */
    public void pottingJSONArray1(View view) {
        try {
            // 第一个JSON对象
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", "君君");
            jsonObject.put("age", 89);
            jsonObject.put("sex", "男");

            // 第二个JSON对象
            JSONObject jsonObject2 = new JSONObject();
            jsonObject2.put("name", "小君");
            jsonObject2.put("age", 99);
            jsonObject2.put("sex", "女");

            // 第三个JSON对象
            JSONObject jsonObject3 = new JSONObject();
            jsonObject3.put("name", "大君");
            jsonObject3.put("age", 88);
            jsonObject3.put("sex", "男");

            // 定义个JSON数组,把上面的三个JSON对象装进去
            JSONArray jsonArray = new JSONArray();
            jsonArray.put(0, jsonObject);
            jsonArray.put(1, jsonObject2);
            jsonArray.put(2, jsonObject3);

            Log.d(TAG, "jsonArray:" + jsonArray);
            saveJSONDataToFile("pottingJSONArray1", jsonArray);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 封装JSON数组-带Key
     * {
     *     "person":[
     *         {
     *             "name":"君君",
     *             "age":89,
     *             "sex":"男"
     *         },
     *         {
     *             "name":"小君",
     *             "age":99,
     *             "sex":"女"
     *         },
     *         {
     *             "name":"大君",
     *             "age":88,
     *             "sex":"男"
     *         }
     *     ]
     * }
     * @param view
     */
    public void pottingJSONArray2(View view) {
        try {
            // 第一个JSON对象
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", "君君");
            jsonObject.put("age", 89);
            jsonObject.put("sex", "男");

            // 第二个JSON对象
            JSONObject jsonObject2 = new JSONObject();
            jsonObject2.put("name", "小君");
            jsonObject2.put("age", 99);
            jsonObject2.put("sex", "女");

            // 第三个JSON对象
            JSONObject jsonObject3 = new JSONObject();
            jsonObject3.put("name", "大君");
            jsonObject3.put("age", 88);
            jsonObject3.put("sex", "男");

            // 定义个JSON数组,把上面的三个JSON对象装进去
            JSONArray jsonArray = new JSONArray();
            jsonArray.put(0, jsonObject);
            jsonArray.put(1, jsonObject2);
            jsonArray.put(2, jsonObject3);

            // 整个最大的 json 对象
            JSONObject jsonObjectAll = new JSONObject();
            // 把上面的JSON数组,装进去
            jsonObjectAll.put("person", jsonArray);

            Log.d(TAG, "jsonObjectAll:" + jsonObjectAll);
            saveJSONDataToFile("pottingJSONArray2", jsonObjectAll);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 保存JSON数据到文件
     */
    private void saveJSONDataToFile(String fileName, JSONObject jsonData) {
        try {
            FileOutputStream fos = openFileOutput(fileName,  Context.MODE_PRIVATE);
            fos.write(jsonData.toString().getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 保存JSON数据到文件
     */
    private void saveJSONDataToFile(String fileName, JSONArray jsonData) {
        try {
            FileOutputStream fos = openFileOutput(fileName,  Context.MODE_PRIVATE);
            fos.write(jsonData.toString().getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="封装JSON对象"
            android:onClick="pottingJSON1"
            android:layout_weight="1"
            />


        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="封装JSON对象-带Key"
            android:onClick="pottingJSON2"
            android:layout_weight="1"
            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="封装JSON对象-嵌套对象"
            android:onClick="pottingJSON3"
            android:layout_weight="1"
            />


    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="封装JSON数组"
            android:onClick="pottingJSONArray1"
            android:layout_weight="1"
            />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="封装JSON数组-带Key"
            android:onClick="pottingJSONArray2"
            android:layout_weight="1"
            />

    </LinearLayout>

</LinearLayout>

 

结果;

/data/data/liudeli.mynetwork01/files/pottingJSON1

{
    "name":"李四",
    "age":99,
    "hobby":"爱好是练习截拳道"
}

 

/data/data/liudeli.mynetwork01/files/pottingJSON2

{
    "student":{
        "name":"李四",
        "age":99,
        "hobby":"爱好是练习截拳道"
    }
}

 

/data/data/liudeli.mynetwork01/files/pottingJSON3

{
    "student":{
        "name":"李四",
        "age":99,
        "hobby":"爱好是练习截拳道",
        "dog":{
            "name":"阿黄",
            "age":77,
            "sex":"母"
        }
    }
}

 

/data/data/liudeli.mynetwork01/files/pottingJSONArray1

[
    {
        "name":"君君",
        "age":89,
        "sex":"男"
    },
    {
        "name":"小君",
        "age":99,
        "sex":"女"
    },
    {
        "name":"大君",
        "age":88,
        "sex":"男"
    }
]

 

/data/data/liudeli.mynetwork01/files/pottingJSONArray2

{
    "person":[
        {
            "name":"君君",
            "age":89,
            "sex":"男"
        },
        {
            "name":"小君",
            "age":99,
            "sex":"女"
        },
        {
            "name":"大君",
            "age":88,
            "sex":"男"
        }
    ]
}

 

angular – 如何创建配置文件(tsconfig.json,typings.json,package.json)?

angular – 如何创建配置文件(tsconfig.json,typings.json,package.json)?

我可以从 https://angular.io/guide/quickstart复制这些文件.

但我想更多地了解这些文件.

我们如何手动创建它?

从哪里可以了解更多关于这些文件的信息?

的package.json

包括有关项目使用的包和库的信息,
还可以包含npm脚本,它有助于运行应用程序的任务,如运行测试,构建js等等……

npm init来初始化新的package.json文件

文档:
npm docs

tsconfig.json

提供有关将过程打字稿编译为javascript的信息.在哪个版本应该编译ts,js文件应该包括源映射,以及此文件中通常描述的此类信息.

tsc –init到init新的tsconfig.json文件

docs:tsconfig docs

typings.json

包括对外部库的定义类型文件的引用,它可以帮助您的应用程序更智能感知.如果要为应用程序编写类型,则需要了解所使用的其他库的类型.

typings init初始化新的typings.json文件(应全局或本地安装)

更多信息:

typings package(帮助生成typings.json文件并保存依赖项)

types defenitions(库类型定义数据库)

full tsconfig scheme

希望它能帮到你!

Arduino JSON over Serial,Json.Parse 返回意外的 JSON 输入

Arduino JSON over Serial,Json.Parse 返回意外的 JSON 输入

我修好了,谢谢大家给我指明了正确的方向。问题出在我的 Arduino 代码中。我使用的是静态 JSON,它没有给我一个压缩字符串。

我将其切换为动态,如 https://arduinojson.org/ 文档中所述。

我的 Arduino 更改为以下内容。

#include <ArduinoJson.h>

void setup() {
  // put your setup code here,to run once:
  Serial.begin(9600);
}

void loop() {
  myFunction();
  delay(5000);
}

int myFunction(){
    DynamicJsonDocument doc(260);
    
    int temp = 21;
    int humidity = 99;
    
    doc["day"] = "Monday";
    doc["temperature"] = temp;
    doc["humidity"] = humidity;

    serializeJson(doc,Serial);
    Serial.println();
  }

我们今天的关于WordPress JSON 处理相关函数大全wordpress json api的分享就到这里,谢谢您的阅读,如果想了解更多关于Ajax & Json 4.Json 的使用 & Ajax 与 Json 配合使用、Android - 封装 JSON 数据(JSON 对象 / JSON 数组)、angular – 如何创建配置文件(tsconfig.json,typings.json,package.json)?、Arduino JSON over Serial,Json.Parse 返回意外的 JSON 输入的相关信息,可以在本站进行搜索。

本文标签: