json对象的操作,json工具
2016-02-01 00:32
711 查看
项目中经常用到json,现在把写了几个js函数,用来获取json对象或者json字符串的长度,以及获取其的key值,value值,并且返回。
这样以后可以直接拿来用,可以省去不少麻烦,也方便以后查看。
以上几个方法可以用来对json对象或者json字符串做一些常见的操作,这是下载链接:myJsonUtil.js,
这样以后可以直接拿来用,可以省去不少麻烦,也方便以后查看。
/** * 检验传入的对象是否为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,
相关文章推荐
- async.js 学习记录
- js格式化输入框内金额、银行卡号
- 浅析JavaScript作用域链、执行上下文与闭包
- 理解javascript中的严格模式
- 基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
- 基于JavaScript实现动态添加删除表格的行
- javascript实现右侧弹出“分享到”窗口效果
- 深入到源码:解读 redux 的设计思路与用法
- HTML5调用手机摄像头拍照 - getUserMedia.js
- jq is a lightweight and flexible command-line JSON processor
- 收藏 在javascript中,有响应功能键的事件吗?
- Using JsonCpp in your project
- highlight.js 代码高亮
- js 动态生成div 并添加class id
- JavaScript模式 读书笔记三
- js动态添加删除表格的行
- JavaScript Development Tools (JSDT)
- js 封装ajax
- JavaScript第三课——数据类型(typeof操作符、Undefined类型、Null类型、Boolean类型)
- 最短路算法(Floyd、Dijsktra、Bellman-Ford、SPFA)