json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...
主要内容:
一、json相关概念
二、json字符串转换成json对象 (字符串-->JSON对象)
三、json对象转换成字符串(json对象-->字符串)
四、将值转换成字符串(值-->字符串)
五、字符串转成值(字符串-->值)
同步的交流学习社区:http://www.mwcxs.top/page/425.html
一、json相关概念
json,全称为javascript object notation,是一种轻量级的数据交互格式。采用完全独立于语言的文本格式,是一种理想的数据交换格式。
同时,json是javascript是原生格式,所以javascript操作处理json不需要任何包,api,任何依赖。
json中有两个结构:(1)数组(2)对象
(1)什么是数组
数组就是以"["开始,以“]”结束的,值之间运用 “,”(逗号)分隔。
比如:
[{"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}, {"key": "test2","value": 345,"type": "boolean","required": "true","description": "字段描述4","children": []}]
children是一个数组,数组里有两个值,值也就是一个对象。
(2)什么是对象
对象就是以“{”开始,以“}”结束的,后边跟着每一对键值,键与值之间使用冒号分隔开。如果值是字符,则必须用引号,数值型则不须要。
{"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}
在数据传输中,json是以文本,即字符串的形式传递的,而js操作json对象,所以json对象和json字符串之间的转换是关键。
(3)字符串和json对象栗子
json字符串
var str1 = '{"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}'
就是在对象的基础上前后加上‘,’。
json对象:
var str2 = {"key": "test1","value": 123,"type": "number","required": "true","description": "字段描述2","children": []}
二、json字符串转换成json对象 (字符串-->JSON对象)
方法有三种:转换函数,jq的转换函数,eval()方法
方法1--转换函数:JSON.parse()方法
var a = '{"a":2}'; JSON.parse(a); //{a:2}
注意:IE8(兼容模式)ok,但是IE6和IE7没有JSON对象,需要额外引入json.js或者json2.js。
方法2:parseJSON()方法 ,将字符串转换成非字符串
用的是jquery的插件
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
反过来,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray();
方法3:eval()方法
eval()函数可计算某一个字符串,并执行其中的javascript代码。
var s = '{a:2}'; eval('(' + s + ')'); //将json字符串转成json对象,需要在字符串外包裹一对括号(), {a:2}
注意事项:IE8(兼容模式),IE7和IE6也可以使用eval()方法将字符串转成json对象,但是不推荐使用,因为这种方式不安全eval会执行接送字符串的表达式.
图中a的值对应的是表达式2+4,当执行eval()方法时候,已经把表达式的值计算出来了,值为6。
三、json对象转换成字符串(json对象-->字符串)
方法--转换函数:JSON.stringify()方法 ,将非字符串转成字符串。
var s = {'a':2}; JSON.stringify(s); //"{"a":2}"
四、将值转换成字符串(值-->字符串)
方法有三种:转换函数toString(),弱类型转换,强制类型转换
方法1--转换函数:value.toString() 将数值转成对应进制的字符串
var n =8; n.toString(几进制);
注意:不能将null和undefined转换成字符串
方法2--弱类型转换:value + '' 将值转换成字符串
2+ ''
注意:使用加法运算法,配合一个空的字符串,缺点是可读性差
方法3--强制类型转换:String(value)
String(2)
五、字符串转成值(字符串-->值)
方法有三种:转换函数,强制类型转换,js变量弱类型转换
在js读取文本框或者其它表单数据的时候获得的值是字符串类型的。
方法1--转换函数:parseInt()和parseFloat()
parseInt("1234blue"); //returns 1234 parseInt("22.5"); //returns 22 parseInt("blue"); //returns NaN
parseInt("AF", 16); //returns 175 parseInt("10", 2); //returns 2
parseFloat("1234blue"); //returns 1234.0 parseFloat("22.5"); //returns 22.5 parseFloat("blue"); //returns NaN
方法2--强制类型转换
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number( "5.5 ") 5.5 Number( "56 ") 56 Number( "5.6.7 ") NaN
方法3--js弱类型转换
var str= '012.345 '; var x = str-0; //输出12.345
先看一下上面的例子,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的;
PS:小数的四舍五入
1、四舍五入
var num =2.4492425542; num = num.toFixed(2); // 输出结果为 2.45
2、不四舍五入
把小数变成整数
Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77
当成字符串,使用正则匹配
Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/)) // 输出结果为 15.77,不能用于整数如 10 必须写为10.0000
注意:如果是负数,请先转换为正数再计算,最后转回负数
转载于:https://www.cnblogs.com/lonelyxmas/p/8667122.html
json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...相关推荐
- php 把java list对象转成数组,java_JSON的String字符串与Java的List列表对象的相互转换,在前端:
1.如果json是List对象 - phpStudy...
JSON的String字符串与Java的List列表对象的相互转换 在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到 ...
- js字符串怎么转python对象_python对象与json相互转换的方法 python中怎么把json对象转成字符串...
在python中 如何实现将一个json字符串转化为对象 对象?json不能包含对象, 只能包含基本的数据类型, 键值对, 列表, 数字, 字符串等等 import jsond = {"k& ...
- Json字符串解析原理、超大json对象的解析
概述 附上完整的代码: https://files.cnblogs.com/files/xcr1234/json.rar 一个类实现json解析核心代码(ObjectParser),其他的类都是工具类 ...
- python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...
python中自定义类对象json字符串化的方法 1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): prin ...
- JAVA对象JSON数据互相转换的四种常见情况
这篇文章主要介绍了JAVA对象JSON数据互相转换的四种常见情况,需要的朋友可以参考下 1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码代码如下: JSONArray ...
- java list 对象 json字符串_Java中Json字符串直接转换为对象的方法(包括多层List集合)...
使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...
- c# 对象json互相转换_Go语言进阶之路(六):内置JSON库和开源库gjson
Go语言内置了部分JSON函数,可以方便地在Go语言结构体实例和JSON字符串之间互相转换.这可比Java强多了. 不过Go语言内置的json库功能比较鸡肋,只能在结构体和JSON之间相互转换,没办法 ...
- json 解析 转java对象数组对象数组对象_json字符串转java对象数组
需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...
- java list 转json 字符串_JSON的String字符串与Java的List列表对象的相互转换
1.JSON的String字符串与Java的List列表对象的相互转换 在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为jso ...
最新文章
- webhook php自动部署,git利用webhook实现自动部署​
- 剑指offer(49)把字符串转换成整数。
- C51语言支持哪些数据类型,C51编译器支持的数据类型(1)
- JAVA面试题(part4)--控制跳转语句
- 在 VC++ 中使用 内联汇编
- mysql数据库加权随机_SQL:随机选择一行,但考虑到权重
- factorybean 代理类不能按照类型注入_Spring拓展接口之FactoryBean,我们来看看其源码实现...
- 【分布式】Zookeeper序列化及通信协议
- paip.svn服务服务器安装配置
- 【实战】如何通过html+css+mysql+php来快速的制作动态网页(以制作一个博客网站为列)
- mzy git学习,git协同开发忽略文档配置以及一些杂点(九)
- ArcMap制作TPK文件
- pandas从excel导入数据,写入数据库
- 什么是SQL注入攻击?SQL注入攻击原理是什么?
- 启动WIFI时:equest firmware failed with error 0xfffffffe ifconfig: SIOCSIFFLAGS: Operation not permitted
- border属性之border-radius
- 腾讯云服务器部署TomCat出现404
- ELO算法原理及实现
- iapp上传图片到云函数
- ESP32系列--第六篇 WiFi AP模式