原文地址为:ASP生成JSON数据
< %@LANGUAGE = " VBSCRIPT " CODEPAGE = " 65001 " % >
< ! -- #include file = " json.asp " -->
< ! -- #include file = " inc/Conn.asp " -->
< %
response.ContentType = " text/json "
dim j
' 多重嵌套的JSON,要使用Dictionary才能实现
set j = new json
j.toResponse = false
set r = server.createobject( " scripting.dictionary " )
set b = server.createobject( " scripting.dictionary " )
set c = server.createobject( " scripting.dictionary " )
c.add " x " , 5
c.add " y " , 6
c.add " z " , 11
b.add " event " , " Mouse Click "
b.add " data " ,c
r.add " success " , true
r.add " result " ,b
a = j.toJSON( empty ,r, false )
response.write a
' 记录集转为Json
set i = new json
i.toresponse = false
set rs = server.CreateObject( " adodb.recordset " )
sqlstr = " select top 5 * from producttype "
rs.open sqlstr,conn, 0 , 1
v = i.toJson( " result " ,rs, false )
rs.close
response.write v
% >
< ! -- #include file = " json.asp " -->
< ! -- #include file = " inc/Conn.asp " -->
< %
response.ContentType = " text/json "
dim j
' 多重嵌套的JSON,要使用Dictionary才能实现
set j = new json
j.toResponse = false
set r = server.createobject( " scripting.dictionary " )
set b = server.createobject( " scripting.dictionary " )
set c = server.createobject( " scripting.dictionary " )
c.add " x " , 5
c.add " y " , 6
c.add " z " , 11
b.add " event " , " Mouse Click "
b.add " data " ,c
r.add " success " , true
r.add " result " ,b
a = j.toJSON( empty ,r, false )
response.write a
' 记录集转为Json
set i = new json
i.toresponse = false
set rs = server.CreateObject( " adodb.recordset " )
sqlstr = " select top 5 * from producttype "
rs.open sqlstr,conn, 0 , 1
v = i.toJson( " result " ,rs, false )
rs.close
response.write v
% >
面要注意的是:
1,嵌套的JSON是要用DICTIONARY来生成的,其他的方法,我还没有找到
2,最终的结果在输出时,可以用toJson(empty,r,false)这种形式,这样,生成的JSON,就不会类似{var:{var1:'',var2:''}}这种形式,而是直接的:{var1:'',var2:''},这种格式在我们用来处理表单,返回数据时,一定要注意
3,生成JSON的ASP页面,输出格式,解析JSON的JS文件,HTML页面,必须全是UTF-8格式编码,一个环节编码不正确,就会导致接收到的JSON在显示中文时变乱码
转载请注明本文地址:ASP生成JSON数据