json对象的操作,json工具
项目中经常用到json,现在把写了几个js函数,用来获取json对象或者json字符串的长度,以及获取其的key值,value值,并且返回。
这样以后可以直接拿来用,可以省去不少麻烦,也方便以后查看。
/**
* 检验传入的对象是否为json对象或者json字符串, 符合条件则返回json对象,否则返回false
* 不能够传入字符串"weiyl","abcd"非json字符串,否则会报错。
* @param json
* @returns
*/
function toJson(json) {
var type = typeof json;
/**
* 防止传入的字符串是null,undefined或者''空字符串,所以判断的时候
* 用type=="string"与上json本身
*/
if (type == "string" && json) {
return JSON.parse(json);
} else if (type == "object") {
return json;
} else {
alert('你传入的参数' + json + ',不是json对象或者json格式的字符串');
return false;
}
}
/**
* 使用typeof操作符 对一个值使用typeof操作符可能返回下列某个字符串:
*
* 1):undefined——如果这个值未定义
*
* 2):boolean——如果这个值是布尔值
*
* 3):string——如果这个值是字符串
*
* 4):number——如果这个值是数值
*
* 5):object——如果这个值是对象或null
*
* 6):function——如果这个值是函数 传入一个json对象,或者json格式
* 的字符串,返回这个json对象的长度, 否则,返回 -1
*
* @param jsonObj
* @returns {Number}
*/
function getJsonLen(jsonObj) {
jsonObj = toJson(jsonObj);
var type = typeof jsonObj;
if (type == "boolean" || type == undefined || type == "number"
|| type == "function") {
return -1;
}
var len = 0;
for ( var item in jsonObj) {
len++;
}
return len;
} /**
* /** 传入一个json字符串或者json对象, 获取所有key值,并且
* 以数组形式返回, 如果传入的不是json字符串或者json对象, 就返回-1
*
* @param JsonObj
* @returns {Array}
*/
function getJsonKey(JsonObj) {
var len = getJsonLen(JsonObj);
if (len == -1) {
return -1;
}
var array = [];
/*
* 因为在getJsonLen()方法中对传入的对象做了 判断,所以这里
* 就不用再判断是否为json或者json字符串了
*/
for ( var item in JsonObj) {
array.push(item);
}
return array;
}
/**
* 传入一个json字符串或者json对象, 获取所有value值,并且以
* 数组形式返回, 如果传入的不是json字符串或者json对象, 就返回-1
*
* @param JsonObj
* @returns {Array}
*/
function getJsonValue(JsonObj) {
var len = getJsonLen(JsonObj);
if (len == -1) {
return -1;
}
var array = [];
/*
* 因为在getJsonLen()方法中对传入的对象做了 判断,所以
* 这里就不用再判断是否为json或者json字符串了
*/
for ( var item in JsonObj) {
array.push(JsonObj[item]);
}
return array;
}
以上几个方法可以用来对json对象或者json字符串做一些常见的操作,这是下载链接:myJsonUtil.js,
json对象的操作,json工具的更多相关文章
- JSON对象与XML相互转换工具类
依赖jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId ...
- JSON基础 JS操作JSON总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- JSON对象转换成JSON字符串
1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DT ...
- Javascript中JSON对象的操作以及遍历key/value
//遍历获取值: function text(){ var json = {"options":"[{/"text/":/"王家湾/&quo ...
- js中 json对象的转化 JSON.parse()
JSON.parse() 方法用来解析JSON字符串,json.parse()将字符串转成json对象.构造由字符串描述的JavaScript值或对象.提供可选的reviver函数用以在返回之前对所得 ...
- JSON和GSON操作json数据
1,JSON操作json import net.sf.json.JSONArray; import net.sf.json.JSONObject; //json操作数据 public static S ...
- 双层嵌套json字符串(即json对象内嵌json数组)解析为Map
之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题. 之前的那 ...
- json字符串和Json对象,以及json的基本了解
考虑到python等语言中没有更好表示json对象的方法,所以使用JavaScript来介绍json 首先是json字符串: var str1 = '{ "name": " ...
- 【前端学习笔记】JavaScript JSON对象相关操作
//JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.par ...
随机推荐
- Windows 键盘快捷键
Windows 键盘快捷键 标签页和窗口快捷键 Ctrl+N 打开新窗口. Ctrl+T 打开新标签页. Ctrl+Shift+N 在隐身模式下打开新窗口. 按 Ctrl+O,然后选择文件. 通过 G ...
- CCNA实验(6) -- VLAN & SPT
交换机的作用主要有两个:1.维护CAM(ContextAddress Memory)表,该表是MAC地址和交换机端口的映射表2.根据CAM进行数据帧的转发 交换机对数据帧的处理有三种:1.Forwar ...
- 【C++算法设计】八数码问题
八数码问题 [题意] 编好为1~8的8个正方形滑块摆成3行3列(一个格子为空),如图所示 每次可以移动空格相邻的滑块到空格,要计算出能移动出目标局面的最小步数,如无法达到则输出-1. [分析] 我们可 ...
- C++中搜索、截取字符串
演示样例中有具体凝视,直接上代码: #include <iostream> #include <string> using std::cout; using std::endl ...
- Android项目中包名的改动
通常改动包名时会造成R文件错误,而且有时带有原因不明的Manifest文件里多处文本混乱. 所以,将眼下觉得最为简洁方便的改动包名流程记录例如以下: 如果我们眼下的包名为com.pepper.util ...
- SQL Server 2008 错误 233 的解决办法
问题一.忘记了登录Microsoft SQL Server 2008 的sa的登录密码 解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改 ...
- 【Web】十步教你搭建完整免费的个人网站(花生壳+XAMPP+WordPress)
1.从花生壳官网(http://www.oray.com/peanuthull/download.php)下载最新版本的客户端. 下载完成后安装,注册护照(需手机验证码验证),注册完成后获取免费域名并 ...
- 访问权限系列一(public/private/protected/default):成员变量
通过两个程序包对自身或互相之间的访问,得到结果.(先编译Test_01,得到class文件,通过Test的集中访问情况) 如下Test.java中内容: package com.java; /* * ...
- 怎样用Excel自动排成绩
经常需要做表格,排成绩名次总是笨笨的一个一个填,费时又费力,终于找到了解决的办法%>_<%(不要嘲笑我了(✿◡‿◡)),原来就是一个名叫RANK的函数,还在苦逼地自己输的小伙伴们,快来看吧 ...
- c++ primer plus 习题答案(2)
p221.8 #include<iostream> #include<cstdlib> #include<cstring> using namespace std; ...