DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> json對象的常用操作函數
json對象的常用操作函數
編輯:JavaScript基礎知識     
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字符串做一些常見的操作
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved