JSON

java xml 转json json 转 json对象 如果你的XML数据对应着特定的Java类,你也可以先解析XML到Java对象,然后再将对象转换为JSON。这种方法的好处是灵活,特别是当你处理的是结构未知或复杂的XML数据时。在Java中,将JSON字符串转换为JSON对象通常意味着将字符串解析为一个可以在程序中操作的数据结构,比如。(或直接转换为你的Java对象,如果你定义了相应的类的话),然后再将其转换为JSON字符串。首先,你需要在你的项目中引入Jackson的XML和核心库。到JSON的转换不是直接支持的,你需要先解析XML到对象或。 阅读详情

json是一种数据格式;
1、语法
    1)简单值:string,boolean,number,null;
    2)对象:复杂的数据类型,表示一个无序的键值对,以逗号分隔,大括号{};
        和js对象区别:
            没有声明变量;
            没有末尾的分号;
            属性必须加双引号””;
            同一个对象中绝对不应该出现相同的两个同名属性;
    3)数组:复杂的数据类型,可包括对象,简单值等,方括号[];

2、解析与序列化
json数据结构解析为JavaScript对象
    1)stringify() 将js对象 —— json
    2)parse() 将json —— js对象
    3)序列化
        stringify() 两个参数 (json,过滤的值)
        stringify() 第三个参数 为数值时:控制结果中的缩进和空白符,上限为10,超出还是为10 ;为字符串时:缩进字符设置为制表 符,
        toJSON() 可以作为函数过滤器的补充;
            a)若存在toJSON()方法而且能通过他取得有效的值,则调用该方法,非则返回对象本身;
            b)如果提高第二个参数,应用这个这个函数的过滤器,按a;
            c)对b返回的每个值进行相应的序列化;
            d)如果提供第三个参数,执行相应的格式化;

tinyjson:最小的 JSON 解析库 小精灵 JSON 响应解析器的微小(如最小)实现。 解析器本身只依赖于: <string> - memcpy <stdlib> - atof 还包括一个围绕低级tinyjson_parse函数的 C++ 包装器 接触 执照 版权所有 2011 马修恩兹利 该项目受 BSD 2-clause 许可管理。 有关详细信息,请参阅项目根文件夹中名为 LICENSE 的文件。 立即下载

相关推荐

tiny-json:tiny-json是适用于嵌入式系统的C语言中的一种多功能且易于使用的json解析器。 快速,强大且便携

tiny-json:tiny-json是适用于嵌入式系统的C语言中的一种多功能且易于使用的json解析器。 快速,强大且便携

C++轻量级Json解析工具—TinyJson

C++轻量级Json解析工具—TinyJson 简介 之前Json解析工具习惯于用**nlohmann/json**,后来发现要兼容Centos5系的系统,且需要批量使用,系统升级gcc/g++升级有点不现实,后来改用轻量级TinyJson库,说一下在使用碰到的一些问题以及为了兼容性作出的修改。 TinyJson轻量级json解析工具,只需要包含头就可以直接使用。兼容Windows/Linux平台。Mac并没有进行相关测试。理论上兼容。 TinyJson相关信息 Git地址:https://github.c

u011218356的博客 3907

tinyjson (C++ Json解析器)

很简单的json解析器,就一个hpp文件,但是基于boost库

[Delphi JSON]Delphi的JSON解析库tiny-json用法简介

[Delphi JSON]Delphi的JSON解析库tiny-json用法简介 1. 简介 tiny-json是一个用于生成和解析JSON格式的Delphi小单元(约有1600行代码),可以和FastMM、FastCode等一起使用,以提高解析速度。 2. 使用方法 a. 将下载到的json-1.4....

weixin_30872337的博客 322

tiny-json 是一个通用且易于使用的 C 中的 json 解析器,适用于嵌入式系统。它快速、强大_C语言_代码_相关文件_

tiny-json 是一个通用且易于使用的 json 解析器,用 C 语言编写,适用于嵌入式系统。它快速、坚固且便携。 它不仅是一个标记器。您可以访问字符串格式的 json 数据或直接将原始值作为 C 类型变量获取,而不会损失任何性能。 您可以一对一地访问 JSON 字段或通过名称获取它们的值。这可以帮助您节省大量源代码行和开发时间。 它不使用递归。 它不使用动态内存。您使用的内存可以静态保留。 数组或 json 对象中的嵌套级别没有限制。 JSON 属性数量限制由可以静态保留的缓冲区大小确定。 更多详情、使用方法,请下载后阅读README.md文件

英飞凌TLF35584 SBC实战:手把手教你配置WDG看门狗与ERR监控(基于AUTOSAR架构)

本文详细介绍了基于AUTOSAR架构的英飞凌TLF35584 SBC芯片WDG看门狗与ERR监控功能的配置方法。通过硬件平台搭建、寄存器级配置、AUTOSAR模块集成及诊断策略优化,帮助开发者快速掌握关键配置技巧,提升嵌入式系统的安全性和可靠性。

weixin_30256901的博客 477

JSON解析(C++)

本文主要介绍使用 jsoncpp 库,编写C++语言的 JSON 解析程序。 1 概述 jsoncpp 是一个可以与 JSON 进行交互的C++库。官网定义如下: jsoncpp is an implementation of a JSON reader and writer in C++. 通过使用 jsoncpp ,我们可以对 JSON 进行读写。 2 示例代码 2.1 从字符串中...

tiny_lxf的博客 2939

F280049C Buffered Digital-to-Analog Converter (DAC)

使用DAC模块很简单,只需要配置参考电压,并写入DACVALS寄存器一个数字值即可。参考电压可配置为外部参考VDAC和内部参考电压1.65V和2.5V,并结合增益作为DAC模块最终的参考电压DACREF。举个例子,配置参考电压为内部参考电压1.65V,增益设置为2,则参考电压DACREF=3.3V,若向DACVALS写入数字值2048,则输出的DAC模块的输出带电压DACOUT=DACVALS×DACREF4096=1.65VDACOUT=

xht2403267701的博客 2370

项目推荐:Tiny Json

项目推荐:Tiny Json 1. 项目基础介绍和主要编程语言 Tiny Json 是一个非常简洁的 C# JSON 解析器,代码量仅约 350 行。该项目旨在提供一个轻量级、高效的 JSON 解析解决方案,适用于需要最小化 GC 分配的场景。主要编程语言为 C#。 2. 项目的核心功能 Tiny Json 的核心功能包括: JSON 解析:能够解析简单的 JSON 数据结构,如数组和对象。 A...

gitblog_00967的博客 373

Jupyter Notebook 命名出现“error”且运行后没反应

Jupyter Notebook 命名出现“error”且运行后没反应提前声明错误截图(方便大家看看是不是自己的错误)解决方法 提前声明 我的问题是在看到答主 @开始King的回答后才解决的,因为答主大大的文章后面有些地方不是很详细,我在这里再在King大大的基础上完善一下子 错误截图(方便大家看看是不是自己的错误) 1.命名失败,上面出现一个“error”字样 2.运行失败,无论是点击上方的运行按钮还是按快捷键shift+enter 都只会向下再增加一个代码块,而不会运行程序。 (也不是很多人出现的[*

qq_52770743的博客 1万+

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 545

JSON(json)详细教程

一、什么是JSON? JSON 是用于存储和传输数据的格式。 JSON 通常用于服务端向网页传递数据 。 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON JSON 具有自

qq_51366851的博客 9741

Immich vs Nextcloud照片管理实测:自建私有云相册到底选哪个?

本文深度评测了Immich与Nextcloud在私有云相册管理中的表现,涵盖核心功能、性能基准、本土化实践及进阶功能。Immich凭借微服务架构和AI优化在照片管理、移动端体验上表现优异,而Nextcloud则强在生态整合。文章还提供了Docker部署优化和国内网络适配方案,帮助用户根据需求选择最佳方案。

seed的博客 331

JSON是什么?对JSON的简单理解

1.json是一种轻量级的数据交换格式,在与后端的数据交互中具有较为广泛的应用。 2.在javaScript中,我们可以直接使用json,因为JavaScript中内置了json的解析,把任何的JavaScript对象变成json,就是把这个对象序列化成一个json格式的字符串,这样才能通过网络传递给其他计算机。如果我们收到json格式的字符串,只需要把它反序列化为一个JavaScript对象,就可以在JavaScript中直接使用这个对象了。 3.JSON 是适用于 Ajax 应用程序的一种有效格式,原因

王春燕的博客 1万+

宝马项目化流程标准(BMW ABC flyer requirement)

宝马项目化流程标准(BMW ABC flyer requirement)

于大博 7254

Vue - 详细实现低代码平台,支持拖曳式可视化生成应用软件功能,用户通过拖拽元素、搭积木的方式创建应用(适合迭代的基础架构、低代码平台)

Vue低代码平台-拖曳式拖拉拽可视化生成应用软件,拖拽式低代码数据可视化开发平台,vue实现拖拽,拖拽式Vue组件代码生成平台,基于vue的可视化拖拽代码生成工具,Vue实现可拖拽组件的方法,一个低代码平台的前端部分,靠拖拉拽生成页面。Vue技术栈从零实现低代码可视化搭建平台示例,低代码轮子,通过拖拽就可生成Vue代码的平台来了,vue低代码平台开发相关比低代码更强大的零代码开发平台,这款低代码SAAS数据可视化工具,拖拽生成大屏。vue实现拖拽效果,Vue自由拖拽缩放组件,自定义组件(文本、图片

🏆 前端领域优质创作者 1万+

Qt构建JSON及解析JSON

一般来讲C++类和对象在java中是无法直接直接使用的,因为压根就不是一个规则。但是他们在内存中都是二进制表示的,所以把C++的类和对象转成二进制再按照java的规则解析这段二进制代码就可以做到C++描述的东西在java中复现了。

a1937194471的博客 5426

分布式系统中的“无状态”和“有状态”详解

有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如 tomcat 中的 session。例如登录:用户登录后,我们把登录者的信息保存在服务端 session 中,并且给用户一个 cookie 值,记录对应的 session。然后下次请求,用户携带 cookie 值来,我们就能识别到对应 session,从而找到用户的信息。

AI天才研究院 2万+

二、Json对象、Json数组和Json字符串

一、Json字符串和Json对象定义: 1、Json字符串: 所谓字符串:单引号或者双引号引起来,是一个String类型的字符串:如下: var person='{"name":"shily","sex":"女","age":"23"}';//json字符串 console.log(person) console.log(person.name) console.log(typeof person)     2、Json对象: 最显著的特征:对象的值可以用 “对象.属性” 进行访问,

TTDreamTT的博客 7294

温度PID控制PLC程序

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

深度学习工具包 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")

golang生成JSON及解析JSON

一、JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法的子集。JSON 语法是 JavaScript 对象表示法语法的子集。 数据在名称/值对中 数据由逗号分隔 大括号保存对象 中括号保存数组 1.JSON名称/值对 "name" : "value" 2.JSON值 可以是: 数字(整数或浮...

TigerwolfC的博客 4万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JSON_EXTRACT JSON_UNQUOTE以及json数组下标选择

大前提5.7版本+ 本文只为扫盲 以及关于json串数组下表的选择方法 太过详细的用法可参照官方文档(写时没打开mysql.com…所以待贴详细地址)或其他博客 测试表结构 内容 首先是JSON_UNQUOTE函数 望文生义 就是去掉引号的功能 将原json串的引号去掉转成string类型 然后来说下JSON_EXTRACT函数 根据键查对象 SELECT JSON_EXTRACT(conte...

快乐小咸鱼007的博客 1万+

IEM模型,地表粗糙度模拟

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

【JSON】JSON概述,JSON与XML的异同,JSON语法,JSON与Java的相互转换

【JSON】JSON概述,JSON与XML的异同,JSON语法,JSON与Java的相互转换1. 什么是JSON?2. 与XML的异同3. 为什么使用JSON4. JSON语法4.1 基本规则4.2 获取数据5. JSON数据和Java对象的相互转换5.1 Java对象转换JSON5.2 JSON对象转换Java 1. 什么是JSON? JSON(JavaScript Object Notatio...

来日浅谈的博客 2509

VUE——,json,json数组,json字符串

在vue项目中经常会遇到向后台提交数据的数据类型为json字符串。 这就涉及到json、json数组、json字符串。 首先,JSON 其实并不是JS独有的,在许多编程语言中都可以解析JSON。 JSON是一种结构化的数据格式。 从结构表面上看,JSON对象与JS对象的写法相似。但是要特别注意以下区别: 1.JSON对象括号末尾不能加分号。 2.JSON属性名必须加引号 下面是一个JS...

guitarist0505的博客 4342

oracle json包 解析JSON

DBMS_JSON包可以将JSON字符串转换为PL/SQL表示的JSON对象树中的各种元素,而DBMS_JSON_T包提供了表示JSON树的PL/SQL对象类型,用于封装表示JSON树的数据。Oracle的JSON包是Oracle数据库中的一项JSON技术,用于解析、存储和生成JSON文档。要使用JSON功能包解析JSON数据,首先需要将JSON数据保存为一个Oracle数据库中的JSON类型的列或变量。这些是一些常用的JSON功能包函数和过程,可以根据需要选择适当的函数和过程来解析和处理JSON数据。

emma20080101的博客 1533

Json

JSON:就是一种轻量级的数据交换格式,被广泛应用于WEB应用程序开发。JSON的简洁和清晰的层次结构,易于阅读和编写;同时也易于机器解析和生成,有效的提升网络传输效率;支持多种语言,很多流行的语言都对JSON格式有着很友好的支持。JSON对象:就是多个属性被{}括起来的。JSON数组:就是包含了多个JSON对象的一个集合,数组是以数组括号[]括起来的。JSON数组并不一定是要相同的JSON对象的集合,也可以是不同的对象。JSON、JSON对象、JSON数组的区别。

xnian_的博客 2756
下一篇: javaScript数组
tiny_wei
博客等级 码龄9年 4粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值