有个s.asp.代码如下:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("date.mdb")
%>
<%
Class JSONClass
Dim SqlString ' 用于设置Select
Dim JSON ' 返回的JSON对象的名称
Dim DBConnection ' 连接到数据库的Connection对象
' 可以外部调用的公共方法
Public Function GetJSON ()
dim Rs
dim returnStr
dim i
dim oneRecord
' 获取数据
Set Rs= Server.CreateObject("ADODB.Recordset")
Rs.open SqlString,DBConnection,1,1
' 生成JSON字符串
if Rs.eof=false and Rs.Bof=false then
returnStr="{ "& JSON & ":{ records:["
while Rs.eof=false
' -------
oneRecord= "{"
for i=0 to Rs.Fields.Count -1
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&":"
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &","
Next
'去除记录最后一个字段后的","
oneRecord=left(oneRecord,InStrRev(oneRecord,",")-1)
oneRecord=oneRecord & "},"
'------------
returnStr=returnStr & oneRecord
Rs.MoveNext
Wend
' 去除所有记录数组后的","
returnStr=left(returnStr,InStrRev(returnStr,",")-1)
returnStr=returnStr & "]}}"
end if
Rs.close
set Rs=Nothing
GetJSON=returnStr
End Function
'私用方法,在类中使用
Private Function check()
End Function
'
End Class
%>
<%
dim a
set a=new JSONClass
a.Sqlstring="Select Price From Products where id=1"
a.dbconnection=conn
a.json="magazineTab"
%>
我想将查询得到的结果转化为json格式,
json格式如下:
{
"add_to_box": {
"action": "/boxes/update_or_create",
},
"calculation": {"xlink:href":"","estimated_value":这里获取上面查询结果的Price的值,"product":{"name":"Iconia Tab A500 16GB 10.1 Tablet ","product_type":"Tradeable","json_class":"Product","manufacturer_name":"","calculator_url":""}},
}
要怎么修改,请指点下
谢谢了
8 个解决方案
#2
有没有更好一点的方法呢?
谢谢了
谢谢了
#3
dim a ,json
set a=new JSONClass
a.Sqlstring="Select Price From Products where id=1"
a.dbconnection=conn
a.json="magazineTab"
json=a.GetJSON()'获取price的json字符串
'连接代码不用写了吧?。。。注意asp双引号的转义就行了
'如果不是使用json1.4+版本,键名称可以不使用双引号括起的,或者改成单引号,这样就不需要转义这么麻烦了
#4
非常感谢showbo的讲解,太谢谢你了
但是我需要在s.asp这个页面里直接生成像下面这种json格式,
因为其它页面要读取s.asp生成的estimated_value的值,
麻烦showbo再帮我指点下,好吗,
谢谢了
但是我需要在s.asp这个页面里直接生成像下面这种json格式,
{
"add_to_box": {
"action": "/boxes/update_or_create",
},
"calculation": {"estimated_value":这里获取上面查询结果的Price的值,"json_class":"Product"}},
}
因为其它页面要读取s.asp生成的estimated_value的值,
麻烦showbo再帮我指点下,好吗,
谢谢了
#5
楼主要好好补下asp的基本知识才行了。。
dim a ,json
set a=new JSONClass
a.Sqlstring="Select Price From Products where id=1"
a.dbconnection=conn
a.json="magazineTab"
json=a.GetJSON()'获取price的json字符串
response.Write"{ ""add_to_box"": { ""action"": ""/boxes/update_or_create"", }, ""calculation"": {""estimated_value"":"&json&",""json_class"":""Product""}}, }"
#6
showbo说的是,我是要好好补下asp的基本知识才行了现在都是啃以前在学校学的老本,出来社会这么多年,因为工作的关系,把以前学的都忘得差不多了.
厚着脸皮再问一下,
我查询那个结果是一个数值,比如说查询返回的值是:30.0
我想生成的json格式是:"estimated_value":30.0"
但我按你的方法生成变成了:"estimated_value":{ magazineTab:{ records:[{"P_Price":"30"}]}}
要怎样修改呢?
还有一个地方要请教下,如果我用"Select Pro_name,Price From Products where id=1"来查询两个字段的话,
怎样才能把返回的Pro_name的值赋予给json_class呢?
厚着脸皮再问一下,
我查询那个结果是一个数值,比如说查询返回的值是:30.0
我想生成的json格式是:"estimated_value":30.0"
但我按你的方法生成变成了:"estimated_value":{ magazineTab:{ records:[{"P_Price":"30"}]}}
要怎样修改呢?
还有一个地方要请教下,如果我用"Select Pro_name,Price From Products where id=1"来查询两个字段的话,
怎样才能把返回的Pro_name的值赋予给json_class呢?
#7
我查询那个结果是一个数值,比如说查询返回的值是:30.0
我想生成的json格式是:"estimated_value":30.0"
但我按你的方法生成变成了:"estimated_value":{ magazineTab:{ records:[{"P_Price":"30"}]}}
要怎样修改呢?
---
不用要你的类库JSONClass,JSONClass生成的json字符串就是那个样子的,直接使用recordset就行了
price="0.0"'默认一个值
set rs=conn.execute("Select Price From Products where id=1")'获取对应的价格
if not (rs.eof or rs.bof) then price=rs(0)'记录存在
response.Write"{ ""add_to_box"": { ""action"": ""/boxes/update_or_create"", }, ""calculation"": {""estimated_value"":"&price&",""json_class"":""Product""}}, }"
=================
还有一个地方要请教下,如果我用"Select Pro_name,Price From Products where id=1"来查询两个字段的话,
怎样才能把返回的Pro_name的值赋予给json_class呢?
--------
生成json字符串不用你操心,jsonclass已经帮你自动生成对应的字段名称和值了,你只要选出需要的字段即可
jsonclass中这段代码会遍历你选出的字段的
for i=0 to Rs.Fields.Count -1
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&":"
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &","
Next
#8
获取需要的数据 然后字符串拼接 不就可以了
#1
http://careast.blog.163.com/blog/static/2273519320074251382558/
使用微软的标准方法实现Ajax
使用微软的标准方法实现Ajax
#2
有没有更好一点的方法呢?
谢谢了
谢谢了
#3
dim a ,json
set a=new JSONClass
a.Sqlstring="Select Price From Products where id=1"
a.dbconnection=conn
a.json="magazineTab"
json=a.GetJSON()'获取price的json字符串
'连接代码不用写了吧?。。。注意asp双引号的转义就行了
'如果不是使用json1.4+版本,键名称可以不使用双引号括起的,或者改成单引号,这样就不需要转义这么麻烦了
#4
非常感谢showbo的讲解,太谢谢你了
但是我需要在s.asp这个页面里直接生成像下面这种json格式,
因为其它页面要读取s.asp生成的estimated_value的值,
麻烦showbo再帮我指点下,好吗,
谢谢了
但是我需要在s.asp这个页面里直接生成像下面这种json格式,
{
"add_to_box": {
"action": "/boxes/update_or_create",
},
"calculation": {"estimated_value":这里获取上面查询结果的Price的值,"json_class":"Product"}},
}
因为其它页面要读取s.asp生成的estimated_value的值,
麻烦showbo再帮我指点下,好吗,
谢谢了
#5
楼主要好好补下asp的基本知识才行了。。
dim a ,json
set a=new JSONClass
a.Sqlstring="Select Price From Products where id=1"
a.dbconnection=conn
a.json="magazineTab"
json=a.GetJSON()'获取price的json字符串
response.Write"{ ""add_to_box"": { ""action"": ""/boxes/update_or_create"", }, ""calculation"": {""estimated_value"":"&json&",""json_class"":""Product""}}, }"
#6
showbo说的是,我是要好好补下asp的基本知识才行了现在都是啃以前在学校学的老本,出来社会这么多年,因为工作的关系,把以前学的都忘得差不多了.
厚着脸皮再问一下,
我查询那个结果是一个数值,比如说查询返回的值是:30.0
我想生成的json格式是:"estimated_value":30.0"
但我按你的方法生成变成了:"estimated_value":{ magazineTab:{ records:[{"P_Price":"30"}]}}
要怎样修改呢?
还有一个地方要请教下,如果我用"Select Pro_name,Price From Products where id=1"来查询两个字段的话,
怎样才能把返回的Pro_name的值赋予给json_class呢?
厚着脸皮再问一下,
我查询那个结果是一个数值,比如说查询返回的值是:30.0
我想生成的json格式是:"estimated_value":30.0"
但我按你的方法生成变成了:"estimated_value":{ magazineTab:{ records:[{"P_Price":"30"}]}}
要怎样修改呢?
还有一个地方要请教下,如果我用"Select Pro_name,Price From Products where id=1"来查询两个字段的话,
怎样才能把返回的Pro_name的值赋予给json_class呢?
#7
我查询那个结果是一个数值,比如说查询返回的值是:30.0
我想生成的json格式是:"estimated_value":30.0"
但我按你的方法生成变成了:"estimated_value":{ magazineTab:{ records:[{"P_Price":"30"}]}}
要怎样修改呢?
---
不用要你的类库JSONClass,JSONClass生成的json字符串就是那个样子的,直接使用recordset就行了
price="0.0"'默认一个值
set rs=conn.execute("Select Price From Products where id=1")'获取对应的价格
if not (rs.eof or rs.bof) then price=rs(0)'记录存在
response.Write"{ ""add_to_box"": { ""action"": ""/boxes/update_or_create"", }, ""calculation"": {""estimated_value"":"&price&",""json_class"":""Product""}}, }"
=================
还有一个地方要请教下,如果我用"Select Pro_name,Price From Products where id=1"来查询两个字段的话,
怎样才能把返回的Pro_name的值赋予给json_class呢?
--------
生成json字符串不用你操心,jsonclass已经帮你自动生成对应的字段名称和值了,你只要选出需要的字段即可
jsonclass中这段代码会遍历你选出的字段的
for i=0 to Rs.Fields.Count -1
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&":"
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &","
Next
#8
获取需要的数据 然后字符串拼接 不就可以了