ASP 读取json后如何 写入数据库

<!--利用aspMSScriptControl控件实现json序列--><%DimscriptCtrlFunctionparseJSON(str)IfNotIsObje... <!--利用asp MS ScriptControl控件 实现json序列-->
<%
Dim scriptCtrl
Function parseJSON(str)
If Not IsObject(scriptCtrl) Then
Set scriptCtrl = Server.CreateObject("MSScriptControl.ScriptControl")
scriptCtrl.Language = "JScript"
scriptCtrl.AddCode "function ActiveXObject() {}" ' 覆盖 ActiveXObject
scriptCtrl.AddCode "function GetObject() {}" ' 覆盖 ActiveXObject
scriptCtrl.AddCode "Array.prototype.get = function(x) { return this[x]; }; var result = null;"
End If
On Error Resume Next
scriptCtrl.ExecuteStatement "result = " & str & ";"
Set parseJSON = scriptCtrl.CodeObject.result
If Err Then
Err.Clear
Set parseJSON = Nothing
End If
End Function

Dim json
json = "{a:""aaa"", b:{ name:""bb"", value:""text"" }, c:[""item0"", ""item1"", ""item2""]}"

Set obj = parseJSON(json)

Response.Write obj.a & "<br />"
Response.Write obj.b.name & "<br />"
Response.Write obj.c.length & "<br />"
Response.Write obj.c.get(0) & "<br />"
%>
obj.a obj.b.name 正常显示出来了,但如何把obj.c.name写入数据库? name=obj.b.name 不好用啊
obj.b.name属于什么属性函数?
传递给aaa.asp的方法已经实现了,但满足不了需求,想在本页直接把obj.b.name赋值给NAME然后保存name到数据库
展开
 我来答
dong_1984dd
2015-08-23 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:230万
展开全部
  1. ASP 获取JSON 数据:<script language="JScript" runat="Server">
        function toObject(json) {
            eval("var o=" + json);
            return o;
        }
       
    </script>
    <%
    Dim json
    json ="{""px_name"":""第二届"",""px_ksjs"":""2014-03-11"",""px_kcfl"":""培训课程""}"
    Set json = toObject(json)
    Response.Write json.px_name & " <br/>"
    Response.Write json.px_ksjs & " <br/>"
    Response.Write json.px_kcfl & " <br/>"

Set json = Nothing
%>

2.写入数据库

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|db1.mdb";
OleDbCommand comm = new OleDbCommand();
conn.Open();
comm.Connection = conn;
comm.CommandText = "Insert Into [Time] ([begin],[over],[name]) Values (@begin,@over,@name)";
comm.Parameters.AddWithValue("@begin", a);
comm.Parameters.AddWithValue("@over", b);
comm.Parameters.AddWithValue("@name", c);
comm.ExecuteNonQuery();
conn.Close();

注意:
1、以上代码是以access数据为例。
2、如果表里面有其他不能为空的字段存在,需要给他们提供值,自动增加的字段除外。
3、db1.mdb文件的只读属性去掉,在文件的属性-安全性里面,添加 everyone帐号和NETWORK Service 帐号可修改权限。

vrejof
2013-07-10
知道答主
回答量:2
采纳率:0%
帮助的人:5.2万
展开全部
“但如何把obj.c.name写入数据库”——obj.c.name 是不存在的啊,你的JSON中,子对象"C"是一个数组,只能通过数组序号访问。
“name=obj.b.name 不好用”——为何不好用呢?有出错吗?提示是什么?obj.b.name等于"bb"啊,Dim name : name=obj.b.name 应该是正常的啊。obj.b.name不是什么函数,它仅是你的JSON对象层次啊。
“想在本页直接把obj.b.name赋值给NAME然后保存name到数据库”—— sql = "update (表) set name = '" & obj.b.name & "' where (条件)" 就可以了啊。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
biyusr
2015-08-14 · TA获得超过1409个赞
知道大有可为答主
回答量:3653
采纳率:79%
帮助的人:2403万
展开全部
  1. asp得到json数据后,进行拆分。

  2. 然后用sql语句插入数据就可以了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式