json转String与String转json及判断对象类型示例代码_相关技巧

复制代码 代码如下:

function ajaxGetMenuList(){
$.getJSON("login.do", function(json){

var r = "";
zNodes += "[";
$(json.menuList).each(function(i){

r = json.menuList[i];
if(i>0) zNodes += ",";
zNodes += '{';
zNodes += 'id:'+r.SId;
zNodes += ', pId:'+r.SPid;
zNodes += ', name:"'+r.STitle;
if(r.SPid == 0) zNodes += '", open:true';
else zNodes += '"';
zNodes += '}';

})

zNodes += "]";
zNodes = stringToJSON(zNodes);
createTree(zNodes);
});

}

/**
* json转String
* @param {Object} obj
* @memberOf {TypeName}
* @return {TypeName}
*/
function jsonToString (obj){
var THIS = this;
switch(typeof(obj)){
case 'string':
return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
case 'array':
return '[' + obj.map(THIS.jsonToString).join(',') + ']';
case 'object':
if(obj instanceof Array){
var strArr = [];
var len = obj.length;
for(var i=0; i<len; i++){
strArr.push(THIS.jsonToString(obj[i]));
}
return '[' + strArr.join(',') + ']';
}else if(obj==null){
return 'null';

}else{
var string = [];
for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]));
return '{' + string.join(',') + '}';
}
case 'number':
return obj;
case false:
return obj;
}
}

/**
* String转json
* @param {Object} obj
* @return {TypeName}
*/
function stringToJSON(obj){
return eval('(' + obj + ')');
}
//判断对象类型
function getType(x){
if(x==null){
return "null";
}
var t= typeof x;
if(t!="object"){
return t;
}
var c=Object.prototype.toString.apply(x);
c=c.substring(8,c.length-1);
if(c!="Object"){
return c;
}
if(x.constructor==Object){
return c
}
if("classname" in x.prototype.constructor
&& typeof x.prototype.constructor.classname=="string"){
return x.constructor.prototype.classname;
}
return "<unknown type>";
}

时间: 2024-09-29 10:00:28

json转String与String转json及判断对象类型示例代码_相关技巧的相关文章

ASP.NET JSON字符串与实体类的互转换示例代码_实用技巧

还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈. 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Runtime.Serialization.Json;using System.ServiceModel.Web;///记得引用这个命名空间using System.IO;using System.Tex

asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)_实用技巧

复制代码 代码如下: //后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Login_jg : System.Web.UI.Page { protected void Page_Load(object sende

json格式的Ajax提交示例代码_AJAX相关

需要加入:com.springsource.org.apache.commons.logging-1.1.1.jar.org.json.jar和jquery-1.10.0.min.js包 <form class="form-inline"> 扫码: <input id="txtQRCode" type="text"> <button id="btnReceive">确定</button

使用ASP.NET一般处理程序或WebService返回JSON的实现代码_实用技巧

示例代码下载: http://zsharedcode.googlecode.com/files/JQueryElementDemo.rar 本文中所包含的内容如下:   * 准备  * 一般处理程序/ashx  * WebService/asmx准备 如果希望通过 ashx 或者 asmx 来返回 JSON, 那么需要引用程序集 System.Web.Extensions.dll, 在 .NET 3.5, 4.0 中已经默认包含. 对于 .NET 2.0, 3.0, 需要安装 ASP.NET 2

ajax后台处理返回json值示例代码_AJAX相关

复制代码 代码如下: public ActionForward xsearch(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String parentId = request.getParameter("parentId"); String supplier = request.getParamet

使用 ServiceStack.Text 序列化 json的实现代码_实用技巧

相信做 .net 开发的朋友经常会遇到 json 序列化这样的需要,今天发篇文章总结下自己使用ServiceStack.Text 来序列化 json.它的速度比 Newtonsoft.Json 快很多,在测试时发现比 fastJson 还快些. 首先,我们有下边两个类,一个是职员(Staff)类,一个是联系方式(Contact)类: 复制代码 代码如下: public class Staff{    public long ID { get; set; }    public string Na

asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码_实用技巧

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxJson.aspx.cs" Inherits="AjaxJson" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

jquery.pagination +JSON 动态无刷新分页实现代码_实用技巧

aspx 页面: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SqlPage.aspx.cs" Inherits="SqlPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w

Json数据转换list对象实现思路及代码_实用技巧

JSON代码: 复制代码 代码如下: [{"cId":2,"cName":"\u767d\u841d\u535c","amount":26,"price":"17"},{"cId":3,"cName":"\u80e1\u841d\u535c","amount":21,"price":&qu