asp遍歷json,asp遍歷json 解析

本文目錄一覽:

ASP讀取JSON數組的問題。求解啊!!!!

script language=”JScript” runat=”Server”

function ToObject(json) {

    var o;

    eval(“o=” + json);

    return o;

}

function toArray(s){

    var dic = Server.CreateObject(“Scripting.Dictionary”)

    eval(“var a=” + json);

    for(var i=0;ia.length;i++){

        var obj = Server.CreateObject(“Scripting.Dictionary”)

        for(x in a[i]) obj.Add(x,a[i][x])

        dic.Add(i, obj);

    }

    return dic

}

/script

%

json = “[{“”date””:””周四 08月07日 (實時:2)””,””weather””:””晴””,””wind””:””微風””,””temperature””:””21″”},{“”date””:””周五””,””weather””:””多雲””,””wind””:””微風””,””temperature””:””31 ~ 22″”},{“”date””:””周六””,””weather””:””多雲轉陰””,””wind””:””微風””,””temperature””:””30 ~ 22″”},{“”date””:””周日””,””weather””:””陰轉晴””,””wind””:””微風””,””temperature””:””31 ~ 22″”}]”

Set ob = toArray(json)

For i=0 To ob.Count-1

  Response.Write ob(i)(“date”)  ” br/” 

next

Set ob = Nothing

%

注意JSON字符串前後的 [ ]

asp 如何請求 json

傳統的ASP與ASP之間post提交json可以用:

json=cstr(request.form)

來獲取得到的json代碼

2

實際上,如果是java或php提交過來的話,用request.form可能得到的就是空值,最穩妥的辦法是根據二進制流得到數據,具體操作如下:

3

2個頁面,第一個頁面假設為:funtion.asp

代碼如下:

%

function bytes2bstr(vin)

dim bytesstream,stringreturn

set bytesstream = server.CreateObject(“adodb.stream”)

bytesstream.type = 2

bytesstream.open

bytesstream.writeText vin

bytesstream.position = 0

bytesstream.charset = “utf-8″‘或者gb2312

bytesstream.position = 2

stringreturn = bytesstream.readtext

bytesstream.close

set bytesstream = nothing

bytes2bstr = stringreturn

end function

%

4

第二個頁面,假設為demo.asp,代碼如下:

!–#include file=”funtion.asp”–

%

getpostjson=Request.TotalBytes ‘得到字節數

if getpostjson=0 then

response.Write(“json null”)

response.End()

end if

readjson=Request.BinaryRead(getpostjson) ‘二進制方式來讀取客戶端使用POST傳送方法所傳遞的數據

json = bytes2bstr(readjson) ‘二進制轉化

response.write(json)

%

5

字符串解析:

Set jsonobj=getJSONObject(json)

json數據請問怎麼遍歷

如果是js中遍歷使用

var anObject = {one:1,two:2,three:3};//對json數組each

$.each(anObject,function(name,value) {

});

如果是Java代碼直接用for循環就行了,說白了json也是數組的一種,json對象和json數組都可以

//遍歷json數組

String json1 = “{data:[{name:’Wallace’},{name:’Grommit’}]}”;

jsonObjSplit = new JSONObject(json1);

JSONArray ja = jsonObjSplit.getJSONArray(“data”);

for (int i = 0; i ja.length(); i++) {JSONObject jo = (JSONObject) ja.get(i);System.out.println(jo.get(“name”));}

//JSONObject遍歷json對象

String json2 = “{name:’Wallace’,age:15}”;

jsonObj = new JSONObject(json2);

for (Iterator iter = jsonObj.keys(); iter.hasNext();) {String key = (String)iter.next();System.out.println(jsonObj .getString(Key));}

ASP 讀取json後如何 寫入數據庫

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 帳號可修改權限。

問高手:asp如何處理json字符串

asp的默認腳本語言是VBScript,但實際上它也是支持JScript(這是微軟搞的服務器版的JavaScript,語法基本上與JavaScript一樣)的,如果你用JScript作為asp的腳本語言,那麼處理json字串就太簡單了,因為它是原生支持json對象的,比如:

%@LANGUAGE=”JSCRIPT” CODEPAGE=”65001″%

%

var json=eval(“(“+Request(“data”)+”)”);

Response.write(“p”+json.a+”/p”);  

Response.write(“p”+json.b[1]+”/p”);

%

測試方法:在網址後面添加參數 ?data={a:1,b:[2,3,4,5]}

如果堅持使用VBScript,那麼它是不支持json的,必須通過VBScript+JScript混合編程來實現:

script language=”jscript” runat=”server”

   Array.prototype.get=function(x){

      return this[x];

   };

   function parseJSON(strJSON){

      return eval(“(“+strJSON+”)”);

   }

/script

%

set json=parseJSON(request(“data”))

response.write “p”  json.a  “/p”

response.write “p”  json.b.get(1)  “/p”

%

請注意,這種情況下對json中的數組的處理方法跟通常是有所不同的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/239681.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:17
下一篇 2024-12-12 12:17

相關推薦

  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分布式文件系統(HDFS)。HDFS是一個可擴展性高的分布式…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 二叉樹非遞歸先序遍歷c語言

    本文將為您詳細介紹二叉樹的非遞歸先序遍歷算法,同時提供完整的C語言代碼示例。通過本文,您將了解到二叉樹的先序遍歷算法,以及非遞歸實現的方式。 一、二叉樹的先序遍歷算法介紹 在介紹二…

    編程 2025-04-28
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • Python如何遍歷列表

    在Python編程中,列表是一種常用的數據類型,它允許我們存儲多個值。但是,我們如何遍歷列表並對其中的每個值進行操作呢? 一、for循環遍歷列表 fruits = [‘apple’…

    編程 2025-04-28
  • Python遍歷字典刪除元素

    本文主要介紹Python中如何遍歷字典並刪除元素。在實際應用中,遍歷字典並刪除元素是一種非常常見的操作,但需要注意的是,直接在字典中刪除元素可能會改變字典中其他元素的索引順序,因此…

    編程 2025-04-28
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27

發表回復

登錄後才能評論