精华内容
下载资源
问答
  • Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    2022-02-15 15:41:53

    前言

    关系型的结构化存储存在一定的弊端,因为它需要预先定义好所有的列以及列对应的类型。但是业务在发展过程中,或许需要扩展单个列的描述功能,这时,如果能用好 JSON 数据类型,那就能打通关系型和非关系型数据的存储之间的界限,为业务提供更好的架构选择。当然,很多同学在用 JSON 数据类型时会遇到各种各样的问题,其中最容易犯的误区就是将类型 JSON 简单理解成字符串类型。但当你看完这篇文章后,会真正认识到 JSON 数据类型的威力,从而在实际工作中更好地存储非结构化的数据。

    JSON 数据类型

    JSON(JavaScript Object Notation)主要用于互联网应用服务之间的数据交换。MySQL 支持RFC 7159定义的 JSON 规范,主要有 JSON 对象 和 JSON 数组 两种类型。下面就是 JSON 对象,主要用来存储图片的相关信息:

    {
    	"Image": {
    		"Width": 800,
    		"Height": 600,
    		"Title": "View from 15th Floor",
    		"Thumbnail": {
    			"Url": "http://www.example.com/image/xx9943",
    			"Height": 125,
    			"Width": 100
    		},
    		"IDs": [116, 943, 234, 38793]
    	}
    }

    从中你可以看到, JSON 类型可以很好地描述数据的相关内容,比如这张图片的宽度、高度、标题等(这里使用到的类型有整型、字符串类型)。JSON 对象除了支持字符串、整型、

    更多相关内容
  • 我一直在弄乱JSON一段时间,只是将其作为文本推出,并没有伤害任何人(据我所知),但是我想正确地做事。 我见过这么多的所谓的“标准”为JSON内容类型: application/json

    我一直在弄乱JSON一段时间,只是将其作为文本推出,并没有伤害任何人(据我所知),但是我想正确地做事。

    我见过这么多的所谓的“标准”为JSON内容类型:

    application/json
    application/x-javascript
    text/javascript
    text/x-javascript
    text/x-json
    

    但是哪一个是正确的,还是最好的? 我发现在它们之间存在安全性和浏览器支持问题。

    我知道有一个类似的问题, 如果REST API返回JSON,则为哪种MIME类型? ,但我想要一个更有针对性的答案。


    #1楼

    JSON的正确内容类型是application/json除非您使用JSONP ,也称为JSON与Padding,它实际上是JavaScript,因此正确的内容类型将是application/javascript


    #2楼

    毫无疑问, application/json是JSON响应的最佳MIME类型。

    但是由于一些压缩问题,我有一些必须使用application/x-javascript经验。 我的托管环境是与GoDaddy共享的托管。 它们不允许我更改服务器配置。 我已将以下代码添加到我的web.config文件中以压缩响应。

    <httpCompression>
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
        <dynamicTypes>
            <add mimeType="text/*" enabled="true"/>
            <add mimeType="message/*" enabled="true"/>
            <add mimeType="application/javascript" enabled="true"/>
            <add mimeType="*/*" enabled="false"/>
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true"/>
            <add mimeType="message/*" enabled="true"/>
            <add mimeType="application/javascript" enabled="true"/>
            <add mimeType="*/*" enabled="false"/>
        </staticTypes>
    </httpCompression>
    <urlCompression doStaticCompression="true" doDynamicCompression="true"/>
    

    通过使用此选项,.aspx页使用g-zip压缩,但JSON响应未压缩。 我加了

    <add mimeType="application/json" enabled="true"/>
    

    在静态和动态类型部分。 但这根本不会压缩JSON响应。

    之后,我删除了这个新添加的类型并添加了

    <add mimeType="application/x-javascript" enabled="true"/>
    

    在静态和动态类型部分中,并更改了响应类型

    .ashx(异步处理程序)

    application/x-javascript
    

    现在,我发现我的JSON响应已使用g-zip压缩。 所以我个人建议使用

    application/x-javascript
    

    仅当您要在共享托管环境上压缩JSON响应时。 因为在共享主机中,它们不允许您更改IIS配置。


    #3楼

    如果您在客户端环境中,则对于良好支持的Web应用程序,必须调查跨浏览器的支持。

    正确的HTTP Content-Type将是application/json ,因为其他application/json也已经突出显示,但是某些客户端不能很好地处理它,因此jQuery建议使用默认的text/html


    #4楼

    JSON是一种域特定语言 (DSL)和一种独立于JavaScript的数据格式,因此具有其自己的MIME类型application/json 。 对MIME类型的尊重当然是由客户端驱动的,因此text/plain可能会用于字节传输,但随后您将不必要地将解释推向供应商应用程序域-application application/json 。 您会通过text/plain传输XML吗?

    但老实说,您选择的MIME类型是向客户端提供有关如何解释数据的建议- text/plain text/HTMLtext/HTML (当不是HTML时)就像类型擦除-它与使所有对象成为Object类型一样没有信息性以一种打字语言。

    据我所知,没有浏览器运行时会使用JSON文档并自动将其作为JavaScript可访问的对象供运行时使用,而无需干预,但是如果您使用的是残废的客户端,那就完全不同了。 但是,这并不是整个故事- REST风格的 JSON服务往往没有JavaScript的运行时间,但使用JSON作为一种可行的数据交换格式它不会阻止他们。 如果客户端瘫痪了……那么我可能会考虑通过Ajax模板服务进行HTML注入。

    应用程序/ JSON!


    #5楼

    对于JSON:

    Content-Type: application/json
    

    对于JSON-P

    Content-Type: application/javascript
    

    #6楼

    正确的答案是:

    Content-Type: application/json
    

    #7楼

    JSP中 ,可以在page指令中使用此命令:

    <%@ page language="java" contentType="application/json; charset=UTF-8"
        pageEncoding="UTF-8"%>
    

    JSON的正确MIME媒体类型是application/json 。 JSP将使用它来向客户端发送响应。


    #8楼

    application/json ”是正确的JSON内容类型。

    def ajaxFindSystems = {
      def result = Systems.list()
      render(contentType:'application/json') {
        results {
          result.each{sys->
            system(id:sys.id, name:sys.name)
          }
        }
        resultset (rows:result.size())
      }
    }
    

    #9楼

    当然,JSON的正确MIME媒体类型是application/json ,但是有必要了解应用程序中期望的数据类型。

    例如,我使用Ext GWT ,服务器响应必须为text / html,但包含JSON数据。

    客户端,Ext GWT表单侦听器

    uploadForm.getForm().addListener(new FormListenerAdapter()
    {
        @Override
        public void onActionFailed(Form form, int httpStatus, String responseText) 
        {
            MessageBox.alert("Error");
        }
    
        @Override
        public void onActionComplete(Form form, int httpStatus, String responseText) 
        {
            MessageBox.alert("Success");
        }
    });
    

    如果使用application / json响应类型,浏览器建议我保存文件。

    使用Spring MVC的服务器端源代码片段

    return new AbstractUrlBasedView() 
    {
        @SuppressWarnings("unchecked")
        @Override
        protected void renderMergedOutputModel(Map model, HttpServletRequest request,
                                               HttpServletResponse response) throws Exception 
        {
            response.setContentType("text/html");
            response.getWriter().write(json);
        }
    };
    

    #10楼

    JSON:

    响应是根据URL中传递的查询参数动态生成的数据。

    例:

    { "Name": "Foo", "Id": 1234, "Rank": 7 }
    

    内容类型: application/json


    JSON-P:

    带有填充的JSON。 响应是JSON数据,并带有包装的函数调用。

    例:

    functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});
    

    内容类型: application/javascript


    #11楼

    正如许多其他人提到的那样, application/json是正确的答案。

    但是尚未解释的是您提出的其他选择的含义。

    • application/x-javascript :在将application/javascript标准化之前,JavaScript的实验性MIME类型。

    • text/javascript :现已过时。 使用application/javascript时,应使用application/javascript javascript。

    • text/x-javascript :以上情况的实验性MIME类型。

    • text/x-json :正式注册application/json之前,用于JSON的实验MIME类型。

    总而言之,每当对内容类型有疑问时,都应检查此链接


    #12楼

    正确的MIME类型是application/json

    我遇到了许多情况,其中浏览器类型或框架用户需要:

    text/html
    
    application/javascript
    

    #13楼

    我用下面

    contentType: 'application/json',
    data: JSON.stringify(SendData),
    

    #14楼

    如果JSON带有填充,则它将为application/jsonp 。 如果JSON不带填充,则它将为application/json

    要同时处理这两种情况,最好使用:'application / javascript',而不必理会是使用填充还是不使用填充。


    #15楼

    Spring中,您有一个定义的类型: MediaType.APPLICATION_JSON_VALUE ,它等效于application / json


    #16楼

    发布时, Content-Type标头应设置为' application / json '。 侦听请求的服务器应包含“ Accept = application / json ”。 在Spring MVC中,您可以这样操作:

    @RequestMapping(value="location", method = RequestMethod.POST, headers = "Accept=application/json")
    

    将标头添加到响应中:

    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-Type", "application/json");
    

    #17楼

    IANA注册application/json

    使用此媒体类型的应用程序:JSON已用于以所有以下编程语言编写的应用程序之间交换数据:ActionScript,C,C#,Clojure,ColdFusion,Common Lisp,E,Erlang,Go,Java,JavaScript,Lua,Objective CAML,Perl,PHP,Python,Rebol,Ruby,Scala和Scheme。

    您会注意到,IANA.org 没有列出任何其他这些媒体类型 ,实际上甚至application/javascript现在已经过时了。 因此, application/json实际上是唯一可能的正确答案。

    浏览器支持是另一回事。

    支持最广泛的非标准媒体​​类型是text/jsontext/javascript 。 但是一些大牌甚至使用text/plain

    更奇怪的是Flickr发送的Content-Type标头,后者返回JSON作为text/xml 。 Google对某些ajax API使用了text/javascript

    例子:

    curl -I "https://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=jsonexample"
    

    输出: Content-Type: text/javascript

    curl -I "https://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=f82254c1491d894f1204d8408f645a93"
    

    输出: Content-Type: text/xml


    #18楼

    PHP开发人员使用此命令:

    <?php
        header("Content-type: application/json");
    
        // Do something here...
    ?>
    

    #19楼

    IANA已将JSON的正式MIME类型注册为application/json

    当被问及为什么不是text/json ,Crockford似乎说JSON并不是JavaScript也不是text,而且IANA比text/*更有可能分发application/* text/*

    更多资源:


    #20楼

    对于JSON,我正在使用:

     Content-Type: application/json
    

    在IETF的JSON数据交换格式7158提案的第1.2节:JSON规范中对此进行了描述。


    #21楼

    application/json在PHP中可很好地用于存储数组或对象数据。

    我使用此代码将数据以JSON格式放置在可公开查看的 Google Cloud Storage(GCS)上:

    $context = stream_context_create([
        'gs' => [
            'acl'=>'public-read', 
            'Content-Type' => 'application/json',
        ]
    ]);
    
    file_put_contents(
        "gs://BUCKETNAME/FILENAME.json", 
        json_encode((object) $array), 
        false, 
        $context
    );
    

    取回数据很简单:

    $data = json_decode(file_get_contents("gs://BUCKETNAME/FILENAME.json"));
    

    #22楼

    在REST上下文中使用JSON时扩展接受的响应...

    当您代表REST资源和集合时,关于使用application/x-resource+jsonapplication/x-collection+json 争论强烈

    而且,如果您决定遵循jsonapi规范, 则应使用application/vnd.api+json ,因为该文档已记录。

    尽管还没有一个通用的标准,但是很明显,向正在传输的资源中添加的语义证明了比application/json更明确的Content-Type是合理的。

    按照这种推理,其他上下文可以证明更具体的Content-Type是合理的。


    #23楼

    JSON (JavaScript对象表示法)和JSONP (“带填充的JSON”)格式似乎非常相似,因此可能会使他们应该使用哪种MIME类型感到非常困惑。 即使格式相似,它们之间也存在一些细微的差异。

    因此,每当有任何疑问时,我都有一个非常简单的方法(在大多数情况下效果很好),即检查相应的RFC文档。

    JSON RFC 4627 (JavaScript对象表示法(JSON)的application / json媒体类型)是JSON格式的规范。 它在第6节中说,JSON文本的MIME媒体类型是

    application/json.
    

    JSONP在浏览器中,JSONP(“带有填充的JSON”)与JSON的处理方式不同。 JSONP被视为常规JavaScript脚本,因此它应使用application/javascript,这是JavaScript的当前官方MIME类型。 但是,在许多情况下, text/javascript MIME类型也可以正常工作。

    请注意, RFC 4329 (脚本媒体类型)文档已将text/javascript标为过时,建议改用application/javascript类型。 但是,由于遗留原因, text/javascript仍被广泛使用,并且具有跨浏览器支持( application/javascript MIME类型并不总是这样,尤其是对于较旧的浏览器)。


    #24楼

    如果您从REST API中以JSON获取数据,则必须使用content-type

    For JSON data: Content-Type:application/json
    For HTML data: Content-Type:text/html,
    For XHTML data: Content-Type:application/xhtml+xml,
    For XML data: Content-Type:text/xml, application/xml
    

    #25楼

    如果您使用的是Ubuntu或Debian,并且通过Apache提供.json文件,则可能需要提供具有正确内容类型的文件。 我这样做主要是因为我想使用Firefox扩展JSONView

    Apache模块mod_mime将帮助您轻松完成此任务。 但是,在Ubuntu中,您需要编辑/etc/mime.types文件并添加以下行

    application/json json
    

    然后重新启动Apache:

    sudo service apache2 restart
    

    #26楼

    Content-Type: application/json -json
    Content-Type: application/javascript -json-P
    Content-Type: application/x-javascript -javascript
    Content-Type: text/javascript -javascript但过时,以前的IE版本曾经用作html属性。
    Content-Type: text/x-javascript -JavaScript媒体类型已过时
    Content-Type: text/x-json正式注册application / json之前的json。


    #27楼

    对于JSON文本:

    application/json

    JSON文本的MIME媒体类型为application/json 。 默认编码为UTF-8。 (来源: RFC 4627 )。

    对于带回调的JSONP (可运行的javascript):

    application/javascript

    这是相关评论中提到的一些博客文章。


    #28楼

    如果要从客户端调用ASP.NET Web服务,则必须使用application/json使其正常工作。 我相信这对于jQueryExt框架是相同的。


    #29楼

    并非所有内容都适用于内容类型application/json

    如果您正在使用Ext JS表单提交来上传文件,请注意,浏览器会解析服务器响应以创建<iframe>的文档。

    如果服务器使用JSON发送返回对象,则必须将Content-Type标头设置为text/html ,以告知浏览器将未更改的文本插入文档主体。

    请参阅Ext JS 3.4.0 API文档


    #30楼

    仅当使用application/json作为MIME类型时,我才具有以下内容(截至2011年11月,使用最新版本的Chrome,Firefox和Firebug ):

    • 从服务器加载JSON后,Chrome将不再发出警告。
    • Firebug将在响应中添加一个标签,向您显示格式化的JSON数据。 如果MIME类型不同,它将仅显示为“响应内容”。
    展开全文
  • JSON是什么?如何正确理解?

    万次阅读 多人点赞 2018-08-04 20:47:26
    什么是JSON JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次...

    1.背景介绍

    什么是JSON

    JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。——百度百科

    数据传输是我们在敲代码时,经常遇到的一个场景,前后端交互。给数据一个统一的格式有利于我们编写和解析数据。

    json,是一种数据格式,在与后端的数据交互中有较为广泛的应用。

    JSON的诞生

    JSON是 (JavaScript Object Notation, JS 对象标记),它是一种数据交换格式。在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范。

    终于,在2002年的一天,道格拉斯·克罗克福特(DouglasCrockford)同学为了拯救深陷水深火热同时又被某几个巨型软件企业长期愚弄的软件工程师,发明了JSON这种超轻量级的数据交换格式。

    由于JSON非常简单,很快就风靡Web世界,并且成为ECMA标准。几乎所有编程语言都有解析JSON的库,而在JavaScript中,我们可以直接使用JSON,因为JavaScript内置了JSON的解析。把任何JavaScript对象变成JSON,就是把这个对象序列化成一个JSON格式的字符串,这样才能够通过网络传递给其他计算机。如果我们收到一个JSON格式的字符串,只需要把它反序列化成一个JavaScript对象,就可以在JavaScript中直接使用这个对象了。

    转义

    我们在调用 jsonp 接口或者调用js文件的时候,由于文件编码不同会导致出现乱码的问题。 如果你的文件出现了非英文字符,如果调用时文件编码不一致,同样会出现乱码情况。

    这也就是为什么要数据统一格式的原因。

    JSON 是适用于 Ajax 应用程序的一种有效格式,原因是它使 JavaScript 对象和字符串值之间得以快速转换 JSON是一种传递对象的语法

    JSON是一个提供了stringify和parse方法的内置对象

    stringify将js对象转化为符合json标准的字符串

    parse将符合json标准的字符串转化为js对象


    2.知识剖析

    JSON对值的类型和格式有严格的规定
    复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
    简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。
    字符串必须使用双引号表示,不能使用单引号。
    对象的键名必须放在双引号里面。
    数组或对象最后一个成员的后面,不能加逗号。
      PS: 需要注意的是,空数组和空对象都是合格的JSON值,null本身也是一个合格的JSON值。

     

    JSON 的语法规则
    JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
    数组(Array)用方括号(“[]”)表示。
    对象(Object)用大括号(”{}”)表示。
    名称/值对(name/value)组合成数组和对象。
    名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
    并列的数据之间用逗号(“,”)分隔

    实例

    JSON 数据的书写格式是:名称/值对。

    名称/值对组合中的名称写在前面(在双引号中),值对写在后面,中间用冒号隔开,

    其中 值 可以是:数字(整数或浮点数)、字符串(在双引号中)、布尔值(true或false)、数组(在方括号中)、对象(在花括号中)、null

    varjson= {"password":123456,"name":"myname","Booleans":true,"Array":[x,y,z],"object":{}}

    或者是嵌套使用

     

    转义概述

    为什么需要转义?在js中我们使用的js对象进行处理,但是在与后端数据交换的时候,我们发送规定的json格式的字符串,所以在给后端发送或接受数据的时候,需要转义

    {name:"myname",password:123456}

    "{"name":"myname","password":123456}"

    其中json字符串转js对象,调用parse方法:

    js对象 = JSON.parse(json字符串);

    js对象转json字符串,调用stringify方法:

    json字符串 = JSON.stringify(js对象);


    3.常见问题

    在json字符串转换成对象,还有eval_r('('+json字符串+')')这个方法,但是在对目标数据进行读取时,可能会出现一些意外的错误:

     


    4.解决方案

    原因:eval_r获取的json对象的值中,如果有执行代码,也将照样执行!所以若不能保证数据的安全性,不要使用eval_r方法进行转义。

     


    5.编码实战

    下面是一个简单的json数据发送应用,有兴趣可以阅读一下:

     

     

    6.扩展思考

    我们常看到

    {name:"myname",password:123456}

    {"name":"myname","password":123456}

    这样两种格式,即js对象和json,然而js对象和json有什么不一样的地方?

    很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:

    JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

    var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的

    var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串

     


    7.参考文献

    参考一:JSON官方文网

    参考二:Json对象和Json字符串的区别

    参考三:json属性名必须加引号的讨论

    参考四:json怎么理解


    8.更多讨论

    1、XML是什么?

    XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

    2、向后台传输数据要用什么格式?

    json字符串格式,如果是一个对象要先用JSON.stringify()转义,转义成为字符串才能将数据传给后端。

    3、后端传过来的字符串数据要怎样才能转义成为一个对象?

    用JSON.parse()方法转义。

    展开全文
  • 开放式方案 OpenAPI 3.0 JSON模式。 文件将自动同步到“ VTEX开发人员门户并可以按照以下导入到Postman。 这里的VTEX API: ...模式文件应具有助记符文件名,该文件名指定所描述的API VTEX_TEMPLATE.json
  • json字符串的标准格式

    千次阅读 2020-12-21 17:34:24
    现在越来越多的项目和开发插件等默认都会支持和使用json数据格式,作为数据保持、传输的一种方式。说是其中一种,就标示还有好多其他格式。比如:最多是xml。webservice的标准数据格式。不过由于json是JavaScript ...

    现在越来越多的项目和开发插件等默认都会支持和使用json数据格式,作为数据保持、传输的一种方式。

    说是其中一种,就标示还有好多其他格式。比如:最多是xml。webservice的标准数据格式。

    不过由于json是JavaScript 对象表示法(JavaScript Object Notation),天生就对js支持很好,

    所以现在很多的ajax等都使用json,反而会更好处理一些。

    1、定义

    什么是 JSON ?

    1.JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

    2.JSON 是轻量级的文本数据交换格式

    3.JSON 独立于语言 *

    4.JSON 具有自我描述性,更易理解

    * JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

    w3c的标准说明如下:

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

    JSON建构于两种结构:

    1.“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

    2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

    这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

    JSON具有以下这些形式:

    对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔。

    注意:如果后台直接传递对象来js,则是json格式的。参考文章:

    数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

    注意:传递数据这个就好理解。其实就一个array。array和json直接的关系,请参考文章:

    [javascript对象及数组 json的一些了解说明]

    2、json标准:

    json表示:我没有标准。哈哈。我说的标准是指什么样的格式化的字符串js才能解析成json?

    下面这个json串就是正确的:

    复制代码代码如下:

    {

    "employees": [

    {

    "firstName": "Bill",

    "lastName": "Gates"

    },

    {

    "firstName": "George",

    "lastName": "Bush"

    },

    {

    "firstName": "Thomas",

    "lastName": "Carter"

    }

    ]

    }

    注意:

    json串,在js中会解析成对象。其中对象的名称比如:

    employees、firstName,必须用""或者''引起来才行。后面的value,如果是int和bool(js是不区分的哦),可以不用""或者''引起来,其他的字符串必须引起来,尤其是记得把时间日期引起来!

    总结如下:

    里面的是一个对象,如果是多个对象,则用逗号间隔,即{},{},这样就组成了一个对象序列,为了辨别开始和结束,则需要加上[]才能进行传递,则实际传递的形式应该是[{},{}],如果只要传递一个对象,则{}的形式就可以了。接下来就是对象属性的表现方式了,属性必须在""

    里面,属性与值之间用:隔开,属性之间用,来分隔,如果属性的值为数组,则用[]包括起来,这样实际传递的数据格式可能有:1、{"属性1":值1,"属性2":值2},如果值为字符串,则也需要用""括起来(下同)。2、{"属性1":值1,"属性2":[值1,值2]},其中属性2是一个数组,包含

    了值1和值2。3、{"属性1":值1,"属性2":{"属性a":值a,"属性b":[值b,值c]}},这个比较复杂了,属性2是个对象,这个对象由包含属性a和属性b,属性b又是一个数组包含值b和值c。我想这些应该是最基本了,其余的就是在此基础上的拓展而已。

    实际中,要序列化对象,在.net中只要调用Newtonsoft.Json.JavaConvert.SerializeObject();函数即可

    参考:

    jquery ajax传递对象(数组)到后台并解析的实现

    有办法,就是你打印出来字符串,自己的按照上面的结构对应一下,或者直接使用在线检验工具检验。

    展开全文
  • 很多前端萌新常常会犯这样的错误,将json和JavaScript当中的对象弄混,原因非常简单,就是因为它们的语法结构是非常相似。所以今天我就来向大家介绍下什么是jsonjson到底是什么呢? 其实啊,json就是封装了一种...
  • JSON

    2019-10-02 16:32:01
    JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。 类似 XML。 JSON 比 XML 更小、更快,更易解析。 什么是 JSONJSON 指的是 JavaScript 对象表示法...
  • 版本:mysql8.0 目标:熟悉常用的JSON函数,并合理使用之。
  • JSON文件的校验——保证正确的数据格式

    万次阅读 热门讨论 2018-12-28 15:38:41
    维护服务器的安全JSON Schema由JSON字符串生成对应的JSON Schema一段JSON字符串样例对应的JSON Schema生成JSON Schema服务端校验1.保存Schema字符串到文件2.引入Maven依赖3.校验的代码后记 前提 在上一篇《JSON文件...
  • Json的语法介绍

    2019-10-09 14:06:29
    JSON具有自我描述性,更易理解 文件名扩展是==. json == JSON使用范围 用于编写基于JavaScript应用程序,包括浏览器扩展和网站 JSON格式可以用于通过网络连接序列化和传输结构化数据 Web服务和...
  • JSON Schema 是什么?

    2021-01-26 00:12:49
    JsonSchema官方文档入门文档入门文档生成Schema工具 使用Json的好处(什么是Schema): ...JSON Schema本身就是一种数据结构,可以清晰的描述JSON数据的结构。是一种描述JSON数据的JSON数据。 使用JSON Sc
  • 项目有个业务需要对JSON格式的数据校验,需要一些必要字段的验证,实现一个JSON解析器。所以学习了json schema的语法和解析器的实现。本篇是先说通用的JSON验证,也就是json schema和在java代码中的校验使用。json ...
  • (1)问题描述使用vue脚手架vue-cli搭建好项目架构后,在packages.json文件里,加入注释(如下所示)。接下来,运行npm run dev命令后出现报错(2)问题解析①记得json的注释和js一样,所以要么package.json不是完全的json...
  • 1、简介 JSON:一种轻量级的数据交换格式 ...一个Json数组,支持多种不同的数据类型,包括:整形,浮点型,字符串,json数组,json对象,空值-null(null) Json数组中嵌套Json数组,父子关系 Json数组嵌套Js
  • 该存储库描述了 , 和扩展,以支持三元组作为节点标识符,是由开发的定义的。 注释的编辑草稿也可以。 JSON-LD-star测试套件是一组测试,可用于验证JSON-LD的RDF-star扩展的JSON-LD处理器。 更多信息和测试词汇的...
  • 项目中遇到了一批带引号的类JSON格式的字符串: {Name:Heal,Age:20,Tag:[Coding,Reading]} 需要将其解析成JSON对象, 然后插入到Elasticsearch中, 当作Object类型的对象存储起来. 在对比了阿里的FastJson、Google的...
  • json服务器

    2021-08-02 01:02:36
    android跟服务器使用json传递数据最近在做项目,使用了json传递数据,把服务器对象转换成json字符串返回,android使用gson包解析json字符串变成对象. 1.服务器代码编写,我这边是在servlet里面 Peronperson=newPerson(...
  • 我有一个相当大的JSON对象,看起来像这样:[{"FoodNumber":"95809548","FoodIdentification":"Food Name","StockCode":"710","Description":["Blah blah blah","More blah blah blah"]},{"FoodNumber":"95892541",...
  • 很多项目使用 JSON 作为配置文件,最明显的例子就是 npm 和 yarn 使用的 package.json 文件。当然,还有很多其他文件,例如 CloudFormation(最初只有 JSON,但现在也支持 YAML)和 composer(PHP)。但是,JSON 实际上...
  • 什么是JSON Schema?

    千次阅读 2019-05-21 20:12:29
    如果你是头一次听说,或者听过过这个词汇但了解,那么你来对地方了。 要了解JSON Schema是什么,我们应该首先了解JSON是什么。 JSON代表“JavaScript Object Notation”,一种简单的互联网数据交换格式。由于...
  • 第16章JSON数据交互客观题

    千次阅读 2020-05-24 12:53:18
    1、下面选项中属于Jackson的开源包的是()。3分 A、jackson-annoations-2.8.8.jar B、jackson-core-2.8.8.jar C、jackson-databind-2.8.8.jar D、jackson-data-2.8.8.jar 参考答案 :‘D 2、下面属于RESTful风格...
  • import json import demjson def sendFengs(token): url = "http://open-api-funsionwork.sit.sf-express.com:8080/ump-biz/platform/send" Headers ={ "Authorization":token_1, "Content-Ty
  • JSON是一种利用JSON数组和JSON对象描述数据内容的数据格式,采用树状的结构,只能有一个父节点,子节点设限,但父子节点均为JSON对象或者JSON数组。 1. Json 简介 JSON(JavaScrip Object Notation) 是一种轻量级的...
  • JSON全称JavaScript Object Notation,它基于 ECMAScript 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。...而且,并不是只有 JavaScript 才使用 JSON,毕竟JSON只是一种数据格式。很多.
  • Json schema 详解

    千次阅读 2021-01-06 15:29:08
    要真正理解 JSON Schema,首先需要知道什么是 JSONJSON 代表 “JavaScript对象表示法”,是一种简单的数据交换格式。它最初是万维网的一个符号。因为JavaScript存在于大多数Web浏览器中,而JSON是基于JavaScript...
  • 这是WG说明的存储库,该说明描述了由开发的JSON-LD 1.1的CBOR编码。 注释的编辑草稿也可以。 为资料库做贡献 使用标准的fork,branch和pull请求工作流程来提出对规范的更改。 请使分支名称具有信息性,例如,包括...
  • mysql:列类型之json

    2022-02-19 10:32:37
    json全称是: JavaScript Object Notation。它的格式有以下几点: 两个对象类型([] or {}); 四种标量 (string、number、true/false、null); 根节点是对象或者是数组; 标量:true/false和null均全为小写形式;...
  • 国防部手册(DoDM)5200.01,第2卷和第4卷(以下引用)描述了如何正确标记机密信息和CUI以促进信息共享。 这些标记(以及其他因素)用于做出访问/传播决策。 国防部内部广泛使用可扩展标记语言(XML)来共享信息,...
  • 为了使事情更直观,我们将讨论Web API,其中REST(ful)原则遵循HTTP协议并大量利用HTTP方法的语义,(通常但一定)使用JSON表示状态。 一种特殊的HTTP方法非常引人注目,尽管其含义听起来很简单,但实现方法远...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,611
精华内容 31,844
关键字:

json描述不正确的是