json 格式字符串

这篇具有很好参考价值的文章主要介绍了json 格式字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、潜规则: 按照字符串内存储的内容对字符串进行了一系列的划分

=> 普通字符串: 'jhsagdvhjkasgvfdhj'

=> 数字字符串: '798798654651323265987'

=> html 格式字符串: '<div></div>'

=> 查询字符串: 'key=value&key2=value2'


        json对象:描述数据的一种格式,将若干繁杂的属性封装为一个整体

        可以直接通过json对象,操作各个属性

1.定义,由{}括起来的键值对,每两个键值对用逗号分开

    key:value

    注意事项:所有的key请用双引号括起来

 2.属性的访问  常用

    a.通过点运算符访问

    对象名.属性名

b.下标法

    对象名[key]

c.为json对象添加新的自定义属性

    对象名.新属性名 = 属性值

d.json对象的遍历

    每次循环式=时变量代表索引

    for(var 变量 in json对象){

        循环体

    }

e.在一个成员方法中使用其他的成员,需要添加前缀this

例如:

var stu = {
        "name": "老王",
        "age": 88,
        "score": 100,
        "eat": function() {
            console.log("eat");
        },
        "showValue": function() {
            console.log(this.name, this.age, this.socre);
            this.eat();
        }
    }

    stu.showValue();

=> json 格式字符串:

         字符串内写的是对象: '{ "name": "Jack", "age": 18 }'

         字符串内写的是数组: '[{ "name": "Jack", "age": 18 }, { "name": "Jack", "age": 18 }]'

    要求:

1. json 格式字符串内, key 的位置必须使用 双引号包裹

2. json 格式字符串内, 必须是 对象或者数组(数组内是一个一个的对象) 的形式

3. json 格式字符串内, value 的位置, 如果是 纯数字或者布尔, 不需要包裹

4. json 格式字符串内, 不能包含函数数据类型

5. json 格式字符串内, 不允许最后一条数据以后还有一个 逗号(,)

6. json 格式字符串内, 引号以外的内容, 只有 冒号, 逗号, 大括号, 中括号

-> 书写的就是 js 内的对象数据或者数组数据

-> js 给我们提供了 json 格式转换的方法

-> json 格式是一种独立格式, 我们可以直接书写 .json 格式文件
 

// 1. js 的数据类型转换成 json 格式字符串

// 语法: JSON.stringify(要转换的js格式数据)

// 返回值: json 格式字符串

// var obj = { name: 'Jack', age: 18, gender: '男' }

// var res = JSON.stringify(obj)

// console.log(res)

// 2. json 格式字符串转换成 js 的数据类型

// 语法: JSON.parse(json格式字符串)

// 注意: 传递的参数必须是一个合法的 json 格式字符串, 否则直接报错

// var str = '{"name":"Jack","age":18,"gender":"男"}'

// var res = JSON.parse(str)

// console.log(res)

// Uncaught SyntaxError: Unexpected token a in JSON at position 0

// 只要看到这个错误, 说明 JSON.parse(xxx) 这个方法执行了

// xxx 不是一个 json 格式字符串内

// 你需要找到 xxx 是哪来的
 

// 3. 利用 json 格式实现深拷贝

var obj = {

name: 'Jack',

age: 18,

gender: '男',

info: {

height: 180,

weight: 180,

address: {

city: '北京'

}

},

hobby: [ '吃饭', '睡觉', [ '篮球', '足球' ] ]

}

// 3-1. 把 obj 直接转换成 json 格式

var r1 = JSON.stringify(obj)

console.log(r1)

// 3-2. 把转换好的 json 格式字符串在转换会对象

var res = JSON.parse(r1)

console.log(res)

console.log(obj)

obj.info.address.city = '上海'

console.log(res)

console.log(obj)

// var res = JSON.parse(JSON.stringify(obj)) // 简易实现深拷贝

二、严格模式

  严格模式:你必须使用定义过的变量

  被"use strict"修饰的作用域,所有变量必须定义才能使用

去掉了变量提升的作用

"use strict";
    a = 123;

    console.log(a);//未被定义时的打印

    var a; //定义

为什么使用严格模式:

①消除Javascript语法的一-些不合理、不严谨之处, 减少一些怪异行为;

②消除代码运行的一些不安全之处,保证代码运行的安全;

③提高编译器效率,增加运行速度;

④为未来新版本的Javascript做好铺垫。

⑤浏览器支持: IE10+ firefox 4+ Safari 5.1+ Chrome文章来源地址https://www.toymoban.com/news/detail-434568.html

到了这里,关于json 格式字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包