JSON中key动态设置及JSON.parse和JSON.stringify()的区别

本文给大家介绍JSON中key动态设置及JSON.parse和JSON.stringify()的区别讲解,具体详情如下所示:

var user_info_json = [];
 user_info_json[user_info_json.length] = eval('('+ '{"'+ id +'": "'+ value +'"}' +')');
JSON.stringify(user_info_json)

先转成字符串,然后使用eval()格式化,然后在把json对象格式化成字符串

分析 : json = {key:values}; 的结果是{"key":values}不满足要求,而json还不支持

json = {"" + key:values};这种格式,所以,想直接把key作为参数传入的思路是不行的

所以只能先写一个字符串,然后格式化成 key :value 的形式

之所以会遇到这个问题是因为我传数据库的时候

[{"mobile":"15915845461"},{"name":"红"},{"388":"某些"}] 我的格式是这样的

所以他key是动态的

另外在实践中发现了 JSON.parse()和JSON.stringify()  这两者的区别也记录下

parse用于从一个字符串中解析出json对象,如var str = '{"name":"huangxiaojian","age":"23"}'

结果:

JSON.parse(str)
Object
mobile: "15224545246"
name: "huangxiaojian"
__proto__: Object

注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。

stringify()用于从一个对象解析出字符串,如

var a = {a:2,b:3}

结果:

JSON.stringify(a)
"{"a":2,"b":3}"

相关参考:

JSON.parse()和JSON.stringify()使用介绍

以上所述是小编给大家介绍的JSON中key动态设置及JSON.parse和JSON.stringify()的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 浅谈JSON中stringify 函数、toJosn函数和parse函数

    JSON.stringify 函数 (JavaScript) 语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. 复制代码 代码如下: value 必需. 要转换的 JavaScript 值(通常为对象或数组). replacer 可选. 用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员

  • 谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

    在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)将字符串转为JSON格式: var a={"name":"tom","sex":"男","age":"24"}; var aToStr =

  • 浅谈JSON.stringify()和JOSN.parse()方法的不同

    今天终于把JSON.stringify()跟JSON.parse()这两个方法给搞清楚了,下面小编在此记录下! JSON.tringify():把一个json数据转化成JSON string JSON.stringify({uno:1,dos:2},null,'\t') "{ "uno": 1, "dos": 2 }" JSON.stringfy({uno:1,dos:2}) JSON.stringify({uno:1,dos:2}) "

  • JSON.parse()和JSON.stringify()使用介绍

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":"23"}' 结果: JSON.parse(str) Object age: "23" name: "huangxiaojian" __proto__: Object 注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常. stringify(

  • 深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解

    "JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使JSON成为理想的数据交换语言,作用是易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)." 今天在这里笔者想简单谈谈jquery里面的JSON.parse()和JSON.stringify()函数,顺便还会提一下原生JS里面的eval()函数 (1)JSO

  • 关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法

    1. JSON.parse(jsonString): 在一个字符串中解析出JSON对象 var str = '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]'; JSON.parse(str); 结果

  • JSON中key动态设置及JSON.parse和JSON.stringify()的区别

    本文给大家介绍JSON中key动态设置及JSON.parse和JSON.stringify()的区别讲解,具体详情如下所示: var user_info_json = []; user_info_json[user_info_json.length] = eval('('+ '{"'+ id +'": "'+ value +'"}' +')'); JSON.stringify(user_info_json) 先转成字符串,然后使用eval()格式化,然后在把json

  • js获取json中key所对应的value值的简单方法

    实例如下: <script type="text/javascript"> getJson('age'); function getJson(key){ var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"}; //1.使用eval方法 var eValue=eval('jsonObj.'+key);

  • Android中TextView动态设置缩进距离的方法

    需求是需要在TextView前端加入一个标签展示. 最终效果图如下: 根据效果图,很容易就能想到使用SpannableStringBuilder,在这里使用到的就是LeadingMarginSpan这个类了. 官方说明: A paragraph style affecting the leading margin. There can be multiple leading margin spans on a single paragraph; they will be rendered in

  • node中Express 动态设置端口的方法

    能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开.代码如下,其实没啥难度,只要你了解nodejs里的process模块,很容易就能写出来. 假设我们想要的命令格式为node app.js 8000 var process = require('process') var port = (function () { if (typeof (process.argv[2]) !== 'undefined') { // 如果输入了端口号,则提取出来 if (isN

  • vue中如何动态设置css样式的hover

    目录 vue动态设置css样式的hover vue使用hover.css动画 vue动态设置css样式的hover 1.定义不同的颜色数组 colorList: ['#4cb352', '#5bc2d3', '#ffc23f', 'pink', '#872822'],//课件标题颜色 2.html数据遍历-自定义element-走马灯高度+定义css变量-yf-border-color  <div             v-for="(item, index) in listData&q

  • redis中key的设置方法步骤

    Redis SET命令用于设置给定key的值.如果key已经存储其他值,SET就覆写旧值,且无视类型. redis SET命令基本语法如下: redis 127.0.0.1:6379> SET KEY_NAME VALUE 返回值: 在Redis2.6.12以前版本,SET命令总是返回OK . 从Redis2.6.12版本开始,SET在设置操作成功完成时,才返回OK 实例: 在redis中创建一个key并设置值. # 对不存在的键进行设置 redis 127.0.0.1:6379> SET k

  • JS动态遍历json中所有键值对的方法(不知道属性名的情况)

    本文实例讲述了JS动态遍历json中所有键值对的方法.分享给大家供大家参考,具体如下: JavaScript中使用ajax技术访问后台资源的时候,常常使用json作为轻量级数据传输格式.json类似于Java中的HashMap,是由一系列的key-value键值对构成. 如果后台返回给前台的json中key的值是动态生成的,那么我们没有办法使用常规的object.name或object["name"]的方式来获取json中的值. 这个时候我们需要在不知道属性名称的时候,遍历json对象

  • 如何使用ajax读取Json中的数据

    本文给大家分享一下,如何使用ajax读取Json中的数据. 一.基础知识 什么是json? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编程语言. JSON - 转换为 JavaScript 对

  • 小程序getLocation需要在app.json中声明permission字段

    小程序getLocation需要在app.json中声明permission字段,个别需要获取用户地理位置的在开发者工具调试时会出现getLocation需要在app.json中声明permission字段 提示,如下图: app.json里加上这个 说明: 获取用户位置信息时需填写用途说明 在一些小程序/小游戏的业务逻辑中,有时需要依赖用户所在的地理位置来提供服务,当前开发者可以通过调用 调用 wx.getLocation / wx.authorize 等接口获取用户的地理位置信息或授权. 根

  • Vue 动态设置路由参数的案例分析

    在vue中 可以动态设置路由参数: 1.使用this.$router.go(),与js histroy.go() 用法一直,前进1,后退-1,当前页面:0 注意 使用go时 必须是已经有访问历史记录了 案例: <template> <div> <button @click="goht">后退<button> <br/> <button @click="goqj">前进<button>

随机推荐