<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="skins/JinnStyleV1/article.xslt"?><blog view="691880" processed="0.156" queries="13" focusMarkup="" xslt="skins/JinnStyleV1/article.xslt"><panels><panel id="1" sn="0" sys="true"><name>Blog Main</name><content><article id="171" disComm="false"><title>ASP( VBScript ) 解析 JSON</title><category id="26"><name>网络开发</name><icon>images/icons/14.gif</icon></category><content><![CDATA[VBScript &#26159; ASP &#26381;&#21153;&#31471;&#31243;&#24207;&#30340;&#24120;&#29992;&#35821;&#35328;.<br />VBScript &#35299;&#26512; JSON&#26159;&#20010;&#38382;&#39064;. &#33258;&#24049;&#20889;&#35299;&#26512;&#31243;&#24207;,&#24403;&#28982;&#19981;&#23481;&#26131;.<br /><br />&#30896;&#21040;&#36825;&#38382;&#39064;, &#31532;&#19968;&#20010;&#24819;&#21040;&#30340;&#23601;&#26159; JScript &#20102;.<br /><textarea name='code' class='vb' cols='50'>&lt;script language=&quot;jscript&quot; runat=&quot;server&quot;&gt;
Array.prototype.get = function(x) { return this[x]; };
function parseJSON(strJSON) { return eval(&quot;(&quot; + strJSON + &quot;)&quot;); }
&lt;/script&gt;
&lt;%
Dim json, obj
json = &quot;{a:&quot;&quot;aaa&quot;&quot;, b:{ name:&quot;&quot;bb&quot;&quot;, value:&quot;&quot;text&quot;&quot; }, c:[&quot;&quot;item0&quot;&quot;, &quot;&quot;item1&quot;&quot;, &quot;&quot;item2&quot;&quot;]}&quot;
Set obj = parseJSON(json)

Response.Write obj.a &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.b.name &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.c.length &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.c.get(0) &amp; &quot;&lt;br /&gt;&quot;

Set obj = Nothing
%&gt;</textarea>&#36825;&#26159;&#30452;&#25509;&#22312; asp &#37324;&#28151;&#29992;&#33050;&#26412;.<br />&#36824;&#26377;&#19968;&#20010;&#26041;&#27861;&#23601;&#26159; &#20351;&#29992; MS &#30340; &#33050;&#26412;&#25511;&#20214;. <br />&#20063;&#19968;&#26679;&#26159;&#20351;&#29992;&#20102; JScript<br /><textarea name='code' class='vb' cols='50'>
Dim scriptCtrl
Function parseJSON(str)
	If Not IsObject(scriptCtrl) Then
		Set scriptCtrl = Server.CreateObject(&quot;MSScriptControl.ScriptControl&quot;)
		scriptCtrl.Language = &quot;JScript&quot;
		scriptCtrl.AddCode &quot;Array.prototype.get = function(x) { return this[x]; }; var result = null;&quot;
	End If
	scriptCtrl.ExecuteStatement &quot;result = &quot; &amp; str &amp; &quot;;&quot;
	Set parseJSON = scriptCtrl.CodeObject.result
End Function

Dim json
json = &quot;{a:&quot;&quot;aaa&quot;&quot;, b:{ name:&quot;&quot;bb&quot;&quot;, value:&quot;&quot;text&quot;&quot; }, c:[&quot;&quot;item0&quot;&quot;, &quot;&quot;item1&quot;&quot;, &quot;&quot;item2&quot;&quot;]}&quot;

Set obj = parseJSON(json)

Response.Write obj.a &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.b.name &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.c.length &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.c.get(0) &amp; &quot;&lt;br /&gt;&quot;

Set obj = Nothing

Set scriptCtrl = Nothing
</textarea><br /><br /><br />--------------- 2009.12.31 ---------------<br /><br />&#20043;&#21069;&#20889;&#36825;&#20010;&#26102;,&#36824;&#24573;&#30053;&#20102;&#19968;&#20010;&#38382;&#39064;.<br /><br />&#19978;&#38754;&#20108;&#20010;&#26041;&#27861;&#37117;&#20351;&#29992;&#20102; jscript &#25226; json &#20018;&#35299;&#26512;&#25104; js &#23545;&#35937;.<br /><br />&#19981;&#21516;&#20043;&#22788;&#26159;, &#31532;&#19968;&#20010;&#26041;&#27861;, eval &#26159;&#22312;&#24403;&#21069;&#23487;&#20027;&#29615;&#22659;&#20013;&#25191;&#34892;.<br />&#31532;&#20108;&#20010;&#26041;&#27861;&#26159;, &#22312;&#21478;&#22806;&#30340;&#23487;&#20027;&#29615;&#22659;&#20013;&#25191;&#34892;.<br /><br />&#36825;&#28041;&#21450;&#21040;&#20102;&#19968;&#20010;&#23433;&#20840;&#24615;&#38382;&#39064;. json &#22914;&#26524;&#26159;&#20174;&#23458;&#25143;&#31471;&#25552;&#20132;&#19978;&#26469;&#30340;&#35805;, &#38590;&#20197;&#20445;&#35777;&#27809;&#26377;&#24694;&#24847;&#29992;&#25143;&#25552;&#20132;&#38750;&#27861;&#20195;&#30721;...<br />&#36825;&#26679;,&#31532;&#19968;&#20010;&#26041;&#27861;,&#23601;&#20250;&#22312;&#24403;&#21069;&#29615;&#22659;&#20013; eval(...&#24694;&#24847;&#20195;&#30721;...)　&#21518;&#26524;&#19981;&#22570;&#35774;&#24819;!!!<br /><br />&#31532;&#20108;&#20010;&#26041;&#27861;,&#21019;&#24314;&#20102; ScriptControl &#25511;&#20214;, &#22312;&#37324;&#38754;&#25191;&#34892;&#20195;&#30721;&#21017;&#30456;&#23545;&#23433;&#20840;&#20102;, &#22240;&#20026;&#26159;&#22312;&#19968;&#20010;&#38548;&#31163;&#36215;&#26469;&#30340;&#29615;&#22659;&#20013;&#25191;&#34892;.<br />&#20294;&#36824;&#26377;&#20004;&#20010;&#19996;&#19996;&#35201;&#32473;&#20808;&#21345;&#25481;, &#22240;&#20026;&#20195;&#30721;&#22312; ScriptControl &#20013;&#25191;&#34892;,&#20063;&#21487;&#20197;&#22312;&#37324;&#38754;&#20351;&#29992; ActiveXObject &#25110; GetObject &#19982;&#22806;&#30028;&#25171;&#20132;&#36947;..<br />&#20173;&#28982;&#19981;&#23433;&#20840;.<br /><br />&#36825;&#26102;&#20505;,&#23601;&#26377;&#24517;&#35201;&#20877;&#35843;&#25972;&#19968;&#19979;&#20195;&#30721;:<br /><textarea name='code' class='vb' cols='50'>
Dim scriptCtrl
Function parseJSON(str)
	If Not IsObject(scriptCtrl) Then
		Set scriptCtrl = Server.CreateObject(&quot;MSScriptControl.ScriptControl&quot;)
		scriptCtrl.Language = &quot;JScript&quot;
		scriptCtrl.AddCode &quot;function ActiveXObject() {}&quot; ' &#35206;&#30422; ActiveXObject
		scriptCtrl.AddCode &quot;function GetObject() {}&quot; ' &#35206;&#30422; ActiveXObject
		scriptCtrl.AddCode &quot;Array.prototype.get = function(x) { return this[x]; }; var result = null;&quot;
	End If
  On Error Resume Next
	scriptCtrl.ExecuteStatement &quot;result = &quot; &amp; str &amp; &quot;;&quot;
	Set parseJSON = scriptCtrl.CodeObject.result
  If Err Then
	Err.Clear
	Set parseJSON = Nothing
  End If
End Function

Dim json
json = &quot;{a:&quot;&quot;aaa&quot;&quot;, b:{ name:&quot;&quot;bb&quot;&quot;, value:&quot;&quot;text&quot;&quot; }, c:[&quot;&quot;item0&quot;&quot;, &quot;&quot;item1&quot;&quot;, &quot;&quot;item2&quot;&quot;]}&quot;

Set obj = parseJSON(json)

Response.Write obj.a &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.b.name &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.c.length &amp; &quot;&lt;br /&gt;&quot;
Response.Write obj.c.get(0) &amp; &quot;&lt;br /&gt;&quot;

Set obj = Nothing


If IsObject(scriptCtrl) Then Set scriptCtrl = Nothing
</textarea>]]></content><publish>2009-11-04 12:57:54</publish><update>2010-03-16 13:31:39</update><comment>3</comment><view>10384</view></article><comments><comment id="271"><usn>json</usn><publish>2011-12-10 17:26:08</publish><content>&amp;#20804;&amp;#24351;&amp;#65292;&amp;#31532;&amp;#20108;&amp;#20010;&amp;#26041;&amp;#27861;&amp;#33021;&amp;#19981;&amp;#33021;&amp;#35835;&amp;#25968;&amp;#32452;&amp;#21602;&amp;#65311;&amp;#22914;&amp;#19979;&amp;#38754;&amp;#36825;&amp;#26679;&amp;#30340;&amp;#25968;&amp;#32452;&amp;#65306;&lt;br /&gt;[{'uid':'1','username':'abc','email':'123@163.com'},{'uid':'2','username':'dbc','email':'456@163.com'}]&lt;br /&gt;&amp;#36824;&amp;#26395;&amp;#25351;&amp;#28857;&amp;#19979;&amp;#12290;&amp;#21313;&amp;#20998;&amp;#24863;&amp;#35874;&amp;#12290;</content><reply>&amp;#20351;&amp;#29992;&amp;#25968;&amp;#32452;&amp;#23545;&amp;#35937;&amp;#30340; get &amp;#26041;&amp;#27861;&lt;br /&gt;&lt;br /&gt;Set obj = parseJSON(json)   &lt;br /&gt;&lt;br /&gt;Response.Write obj.get(0).username&lt;br /&gt;Response.Write obj.get(0).email&lt;br /&gt;&lt;br /&gt;Set obj = Nothing  </reply></comment><comment id="276"><usn>Evan</usn><publish>2013-06-11 22:33:48</publish><content>&amp;#24590;&amp;#20040;&amp;#26679;&amp;#36941;&amp;#21382;&amp;#21602;?</content><reply></reply></comment><comment id="280"><usn>mig</usn><publish>2014-03-01 17:48:29</publish><content>Response.Write obj.get(0)&lt;br /&gt;&amp;#23545;&amp;#35937;&amp;#19981;&amp;#25903;&amp;#25345;get&amp;#26041;&amp;#27861;</content><reply></reply></comment></comments><previous id="170"><title>ASP 中 Base64 的编解码</title></previous><next id="172"><title>JavaScript 进行 URLEncode (使用 GBK)</title></next></content></panel></panels><modules><module id="4" sn="3" sys="true"><name>Category</name><title>日志分类</title></module><module id="6" sn="4" sys="true"><name>Archive</name><title>日志归档</title></module><module id="5" sn="5" sys="true"><name>User Panel</name><title>控制面板</title></module><module id="10" sn="6" sys="true"><name>Recent Article</name><title>最新日志</title></module><module id="8" sn="7" sys="true"><name>Search</name><title>查询搜索</title></module><module id="7" sn="8" sys="true"><name>Recent Comments</name><title>最新评论</title></module><module id="2" sn="9" sys="true"><name>Statistics</name><title>统计信息</title></module></modules><user><usn></usn><status>3</status><login>false</login></user></blog>
