使用递归对任意json解析

(function(angular){
var app = angular.module('app', []);


app.controller('MainCtrl', [
'$scope', '$http', function($scope, $http) {

var url ="http://localhost:8080/test/getData";
$http.get(url)
   .success(function (datas) {
    var space="|";
    var Objs = eval(datas);
    myparseJson(Objs,space);
   });


function myparseJson(datas,space){
if(isJson(datas)){
for(key in datas){
var value = datas[key];
console.info(space + key+":");
var tempspace = space+"      |";
myparseJson(value,tempspace);
}
}else if(isArray(datas)){
for(index in datas){
var value = datas[index];
var tempspace = space + "      |";
myparseJson(value,tempspace);
}
}else if(isNull(datas)){
console.info(space + 'nulltt');
return '';
}else if(datas == undefined){
console.info(space + 'undefinedtt');
return '';
}else{
console.info(space + datas);
return datas;
}
}

function isJson(obj){
var isjson = typeof(obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length; 
return isjson;
}
function isArray(obj){
var isarray = typeof(obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object array]" && obj.length;
return isarray;
}
function isNull(obj){
var isnull = typeof(obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object null]"; 
return isnull;
}





}]);

})(window.angular);
阅读更多
文章标签: json解析
个人分类: json解析 Http请求
上一篇解决linux too many files问题
下一篇callgrind使用说明(一款可以生成c++或c运行堆栈性能的工具)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭