经典论坛

 找回暗码
 注册

QQ登录

只需一步,快速开端

蓝色抱负 最新研制动态 网站注册淘帖功用 - 蓝色抱负插件 论坛内容导读一页看论坛 - 给官方提主张

论坛活动及使命 地图和邮件使命 请多用赏格发问 热夏来袭,选一款蓝色抱负的特性T恤吧!

手机上论坛,运用APP取得更好体会 急需前端攻城狮,取得内部引荐时机 论坛注册淘帖功用,保藏总算能够分类了!

查找
检查: 1736|回复: 3
打印 上一主题 下一主题

[asp] ASP解析JSON的问题

[仿制链接]
跳转到指定楼层
楼主
宣布于 2017-11-6 23:18:17 | 只看该作者 回帖奖赏 |倒序阅览 |阅览形式
如何用ASP解析杂乱的JSON数据,有没有相关的函数啊,期望高手点拨,谢谢
  1. {
  2.     "status": "OK",
  3.     "weather": [
  4.         {
  5.             "city_name": "广州",
  6.             "city_id": "CHGD000000",
  7.             "last_update": "2017-11-06T22:40:00+08:00",
  8.             "now": {
  9.                 "text": "多云",
  10.                 "code": "4",
  11.                 "temperature": "21",
  12.                 "feels_like": "20",
  13.                 "wind_direction": "西北",
  14.                 "wind_speed": "5.40",
  15.                 "wind_scale": "1",
  16.                 "humidity": "78",
  17.                 "visibility": "11.30",
  18.                 "pressure": "1010",
  19.                 "pressure_rising": "不知道",
  20.                 "air_quality": {
  21.                     "city": {
  22.                         "aqi": "90",
  23.                         "pm25": "67",
  24.                         "pm10": "96",
  25.                         "so2": "13",
  26.                         "no2": "56",
  27.                         "co": "0.936",
  28.                         "o3": "69",
  29.                         "last_update": "2017-11-06T20:00:00+08:00",
  30.                         "quality": "良"
  31.                     },
  32.                     "stations": null
  33.                 },
  34.                 "alarms": []
  35.             },
  36.             "today": {
  37.                 "sunrise": "06:35 AM",
  38.                 "sunset": "05:48 PM",
  39.                 "suggestion": {
  40.                     "dressing": {
  41.                         "brief": "较舒适",
  42.                         "details": "主张着薄外套、开衫牛仔衫裤等服装。年迈体弱者应恰当增加衣物,宜着夹克衫、薄毛衣等。"
  43.                     },
  44.                     "uv": {
  45.                         "brief": "最弱",
  46.                         "details": "属弱紫外线辐射气候,无需特别防护。若长时刻在户外,主张涂擦SPF在8-12之间的防晒护肤品。"
  47.                     },
  48.                     "car_washing": {
  49.                         "brief": "不宜",
  50.                         "details": "不宜洗车,未来24小时内有雨,假如在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。"
  51.                     },
  52.                     "travel": {
  53.                         "brief": "一般",
  54.                         "details": "温度适合,但风稍大,且较强降雨的气候将给您的出行带来许多的不方便,若坚持游览主张带上雨具。"
  55.                     },
  56.                     "flu": {
  57.                         "brief": "较易发",
  58.                         "details": "气候转凉,空气湿度较大,较易发作伤风,体质较弱的朋友请注意恰当防护。"
  59.                     },
  60.                     "sport": {
  61.                         "brief": "较不宜",
  62.                         "details": "有较强降水,主张您挑选在室内进行健身休闲运动。"
  63.                     }
  64.                 }
  65.             },
  66.             "future": [
  67.                 {
  68.                     "date": "2017-11-06",
  69.                     "high": "25",
  70.                     "low": "18",
  71.                     "day": "周一",
  72.                     "text": "小雨/中雨",
  73.                     "code1": "13",
  74.                     "code2": "14",
  75.                     "cop": "",
  76.                     "wind": "风力2级"
  77.                 },
  78.                 {
  79.                     "date": "2017-11-07",
  80.                     "high": "23",
  81.                     "low": "17",
  82.                     "day": "周二",
  83.                     "text": "中雨/中雨",
  84.                     "code1": "14",
  85.                     "code2": "14",
  86.                     "cop": "",
  87.                     "wind": "风力3级"
  88.                 },
  89.                 {
  90.                     "date": "2017-11-08",
  91.                     "high": "24",
  92.                     "low": "18",
  93.                     "day": "周三",
  94.                     "text": "小雨/阴",
  95.                     "code1": "13",
  96.                     "code2": "9",
  97.                     "cop": "",
  98.                     "wind": "风力2级"
  99.                 },
  100.                 {
  101.                     "date": "2017-11-09",
  102.                     "high": "26",
  103.                     "low": "18",
  104.                     "day": "周四",
  105.                     "text": "多云/多云",
  106.                     "code1": "4",
  107.                     "code2": "4",
  108.                     "cop": "",
  109.                     "wind": "风力2级"
  110.                 },
  111.                 {
  112.                     "date": "2017-11-10",
  113.                     "high": "27",
  114.                     "low": "19",
  115.                     "day": "周五",
  116.                     "text": "多云/多云",
  117.                     "code1": "4",
  118.                     "code2": "4",
  119.                     "cop": "",
  120.                     "wind": "风力2级"
  121.                 },
  122.                 {
  123.                     "date": "2017-11-11",
  124.                     "high": "26",
  125.                     "low": "18",
  126.                     "day": "周六",
  127.                     "text": "多云/晴",
  128.                     "code1": "4",
  129.                     "code2": "1",
  130.                     "cop": "",
  131.                     "wind": "风力2级"
  132.                 },
  133.                 {
  134.                     "date": "2017-11-12",
  135.                     "high": "27",
  136.                     "low": "18",
  137.                     "day": "周日",
  138.                     "text": "晴/多云",
  139.                     "code1": "0",
  140.                     "code2": "4",
  141.                     "cop": "",
  142.                     "wind": "风力2级"
  143.                 },
  144.                 {
  145.                     "date": "2017-11-13",
  146.                     "high": "26",
  147.                     "low": "17",
  148.                     "day": "周一",
  149.                     "text": "多云/小雨",
  150.                     "code1": "4",
  151.                     "code2": "13",
  152.                     "cop": "",
  153.                     "wind": "风力2级"
  154.                 },
  155.                 {
  156.                     "date": "2017-11-14",
  157.                     "high": "22",
  158.                     "low": "15",
  159.                     "day": "周二",
  160.                     "text": "阴/阴",
  161.                     "code1": "9",
  162.                     "code2": "9",
  163.                     "cop": "",
  164.                     "wind": "风力2级"
  165.                 },
  166.                 {
  167.                     "date": "2017-11-15",
  168.                     "high": "23",
  169.                     "low": "16",
  170.                     "day": "周三",
  171.                     "text": "阴/多云",
  172.                     "code1": "9",
  173.                     "code2": "4",
  174.                     "cop": "",
  175.                     "wind": "风力2级"
  176.                 }
  177.             ]
  178.         }
  179.     ]
  180. }
仿制代码
沙发2#
宣布于 2017-11-19 19:48:04 | 只看该作者
能够合作JS来做哈
  1. <script language="jscript" runat="server">
  2. function getjson(str){
  3.         try{
  4.            eval("var jsonStr = (" + str + ")");
  5.         }catch(ex){
  6.            var jsonStr = null;
  7.         }
  8.         return jsonStr;
  9. }
  10. </script>
  11. <%
  12. Dim jsonStr, json
  13. jsonStr = "JSON字符串"
  14. Set json = getjson(jsonStr)
  15. Response.Write json.status
  16. %>
仿制代码
藤椅3#
宣布于 2017-11-19 21:23:04 | 只看该作者
还有个办法
  1. <%
  2. Dim jsonStr, json
  3. jsonStr = GetFile("json.txt")

  4. Set json = parseJSON(jsonStr)

  5. Response.Write "status: " & json.status & "<br />"
  6. Response.Write "city_name: " & json.weather.get(0).city_name & "<br />" & VbCrLf

  7. Dim future, C, I
  8. Set future = json.weather.get(0).future
  9. C = future.length - 1
  10. Response.Write "<table border='1' cellspacing='0'>"
  11. Response.Write "<tr><td>date</td><td>high</td><td>low</td><td>day</td><td>text</td><td>code1</td><td>code2</td><td>cop</td><td>wind</td></tr>"
  12. For I = 0 To C
  13.         Response.Write "<tr><td>" & future.Get(I).date &  "</td>" & VbCrLf & _
  14.                 "<td>" & future.Get(I).high &  "</td>" & VbCrLf & _
  15.                 "<td>" & future.Get(I).low &  "</td>" & VbCrLf & _
  16.                 "<td>" & future.Get(I).day &  "</td>" & VbCrLf & _
  17.                 "<td>" & future.Get(I).text &  "</td>" & VbCrLf & _
  18.                 "<td>" & future.Get(I).code1 &  "</td>" & VbCrLf & _
  19.                 "<td>" & future.Get(I).code2 &  "</td>" & VbCrLf & _
  20.                 "<td>" & future.Get(I).cop &  "</td>" & VbCrLf & _
  21.                 "<td>" & future.Get(I).wind &  "</td>" & VbCrLf & _
  22.                 "</tr>"
  23. Next
  24. Response.Write "</table>"
  25. 'PR getjson(jsonStr)


  26. Dim scriptCtrl
  27. Function parseJSON(str)
  28.         If Not IsObject(scriptCtrl) Then
  29.                 Set scriptCtrl = Server.CreateObject("MSScriptControl.ScriptControl")
  30.                 scriptCtrl.Language = "JScript"
  31.                 scriptCtrl.AddCode "Array.prototype.get = function(x) { return this[x]; }; var result = null;"
  32.         End If
  33.         scriptCtrl.ExecuteStatement "result = " & str & ";"
  34.         Set parseJSON = scriptCtrl.CodeObject.result
  35. End Function

  36. Function GetFile(sFileName)
  37.         Dim oFso, oFout
  38.         Set oFso  = Server.CreateObject("Scripting.FileSystemObject")
  39.         If oFso.FileExists(Server.Mappath(sFileName)) Then
  40.                 Set oFout = oFso.OpenTextFile(Server.Mappath(sFileName), 1, False)
  41.                 On Error Resume Next
  42.                 GetFile = oFout.ReadAll()
  43.                 If Err Then
  44.                         Err.Clear
  45.                         GetFile = ""
  46.                 End If
  47.                 oFout.Close
  48.                 Set oFout = Nothing
  49.         Else
  50.                 GetFile = ""
  51.         End If
  52.         Set oFso = Nothing
  53. End Function
  54. %>
仿制代码
板凳4#
宣布于 2019-5-6 16:47:56 | 只看该作者
输出JSON加上
Response.ContentType = "application/json"
Response.Charset="UTF-8"
您需求登录后才能够回帖 登录 | 注册

本版积分规矩

QQ|小黑屋|Archiver|手机版|quanxw2n9.com ( ICP05002321 )  

GMT+8, 2019-7-10 11:26 , Processed in 0.093512 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 回来顶部 回来列表