asp读取json数据中的某个值

asp读取json数据中的某个值,第1张

简单点吧

给你个函数

Function Getmid(sstr, lstr, rstr)

l = InStr(1, sstr, lstr) + Len(lstr)

s = Right(sstr, Len(sstr) - l + 1)

R = InStr(1, s, rstr)

Getmid = Mid(sstr, l, R - 1)

End Function

你要的就=getmid(json, chr(34) & "desc" & chr(34) & ":" & "chr(34),chr(34)& "}")

子易空间站 - Excel培训专家

<%

Dim scriptCtrl

Function parseJSON(json)

   If Not IsObject(scriptCtrl) Then

      Set scriptCtrl=ServerCreateObject("MSScriptControlScriptControl")

      scriptCtrlLanguage="JScript"

      scriptCtrlAddCode "Arrayprototypeget=function(x){return this[x];};var result=null;"

   End If

   scriptCtrlExecuteStatement "result=" & json & ";"

   Set parseJSON=scriptCtrlCodeObjectresult

End Function

Function chkJSON(s)

   scriptCtrlExecuteStatement "var sxcz=(result&&typeof result=='object')('" & s & "' in result):false;"

   chkJSON=scriptCtrlCodeObjectsxcz

End Function

%>

第一个函数parseJSON是用来把JSON字串解析为对象的,用法如下:

<%

JSON="{xxx:111,yyy:{zzz:222,aaa:'abc',zzz:'qwe'},qqq:[{sss:123,rrr:456},{sss:333,rrr:678}]}"

Set objJSON=parseJSON(JSON)

ResponseWrite objJSONxxx & "<br>"

ResponseWrite objJSONyyyaaa & "<br>"

ResponseWrite objJSONqqq(0)sss & "<br>"

%>

第二个函数chkJSON是用来检测某个属性在JSON中是否存在的。由于VBScript与JScript的对象存在差别,在VBScript中如果直接使用对象中不存在的属性是会出错的(JScript则不会),因此如果你对JSON中某个属性是否存在不敢肯定,最好先用这个函数检测一下。注意,必须在使用过第一个函数的情况下才能使用这个函数!用法如下:

<%

If chkJSON("mmm") Then ResponseWrite objJSONmmm

%>

using SystemRuntimeSerializationJson;

using SystemServiceModelWeb;///记得引用这个命名空间

/// <summary>

/// 把JSON字符串还原为对象

/// </summary>

/// <typeparam name="T">对象类型</typeparam>

/// <param name="szJson">JSON字符串</param>

/// <returns>对象实体</returns>

public static T ParseFormJson<T>(string szJson)

{

T obj = ActivatorCreateInstance<T>();

using (MemoryStream ms = new MemoryStream (EncodingUTF8GetBytes(szJson)))

{

DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));

return (T)dcjReadObject(ms);

}

}

ASP输出JSON格式是靠ASPNET自带的JavaScriptSerializer来生成JSON数据的。

举例如下:

ArrayList eventList = new ArrayList();

           for (int i = 0; i < 3;i++ )

           {

               Hashtable ht = new Hashtable();

               htAdd("eventid",i+1);

               htAdd("eventname","圣诞节");

               htAdd("eventdate","2012-12-25");

               htAdd("eventlocation","公司会议中心");

               eventListAdd(ht);

           }

           JavaScriptSerializer ser = new JavaScriptSerializer();

           String jsonStr=serSerialize(eventList);

           ResponseWrite(jsonStr);

查看页面,可以看到返回的结果是JSON格式的数据如下:

cshtml代码

<!DOCTYPE html>

<html>

<head>

<meta ;

csasp代码

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%

xm = RequestForm("xm")

nl = RequestForm("nl")

'add or update table

str = xm&","&nl

responseWrite(str)

%>

bytecount = RequestTotalBytes

bytes = RequestBinaryRead(bytecount)

Set stream = ServerCreateObject("ADODBStream")

streamType = 1 'adTypeBinary

streamOpen()

streamWrite(bytes)

streamPosition = 0

streamType = 2 'adTypeText

streamCharset = "utf-8"

s = streamReadText() 'here is your json as a string

streamClose()

Set stream = nothing

Responsewrite(s)

得到的s就是json格式的字符串,就象{"userid":"apple","password":"test123456"}

然后再利用其它工具可以将json字符串中的相关信息提取出来。这个网上有很多示例。

以上就是关于asp读取json数据中的某个值全部的内容,包括:asp读取json数据中的某个值、ASP如何来解析JSON,,可以用JS、asp.net后台这么取json数据啊求大神等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9726905.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存