原文地址為: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

% >
面要注意的是:
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數據