
简单点吧
给你个函数
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数据啊求大神等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)