怎样提取josn中的team_id

onlymearmstr 2016-09-20 04:40:11
{"total":30,"rows":[{"dynasty_id":35,"dynasty_id_val":"35","id":143,"pk_val":"143","pof_lose_match_counts":0,"pof_win_match_counts":0,"pof_win_persent":"0","point":256,"sea_all_match_counts":98,"sea_lose_match_counts":19,"sea_win_match_counts":79,"sea_win_persent":"80.61%","team_id":"太阳","team_id_val":"22","team_status":"常规赛中","team_status_val":"2","user_id":"山西","user_id_val":"5"},{"dynasty_id":35,"dynasty_id_val":"35","id":144,"pk_val":"144","pof_lose_match_counts":0,"pof_win_match_counts":0,"pof_win_persent":"0","point":175,"sea_all_match_counts":69,"sea_lose_match_counts":16,"sea_win_match_counts":53,"sea_win_persent":"76.81%","team_id":"开拓者","team_id_val":"23","team_status":"常规赛中","team_status_val":"2","user_id":"北极","user_id_val":"6"},{"dynasty_id":35,"dynasty_id_val":"35","id":139,"pk_val":"139","pof_lose_match_counts":0,"pof_win_match_counts":0,"pof_win_persent":"0","point":35,"sea_all_match_counts":18,"sea_lose_match_counts":8,"sea_win_match_counts":10,"sea_win_persent":"55.55%","team_id":"鹈鹕","team_id_val":"18","team_status":"常规赛中","team_status_val":"2","user_id":"小鱼","user_id_val":"33"}]}

提取处理放到数组team里就行
dim team(100)
...全文
622 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
无·法 2016-09-25
  • 打赏
  • 举报
回复
不放弃任何使用正则的机会。。
'此代码由“正则测试工具V1.1.43”自动生成,请直接调用TestReg过程
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, i As Integer
strData = ",""team_id"":""开拓者"",""team_id_val"":""23"", 。。。。。"
Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.MultiLine = True
reg.Pattern = """team_id"":""(.*?)"""
Set matchs = reg.Execute(strData)
For i = 0 To matchs.Count - 1
Debug.Print "(" & i + 1 & ")." & matchs(i).SubMatches(0) & " ";
Next
End Sub


太阳
开拓者
鹈鹕
笨狗先飞 2016-09-24
  • 打赏
  • 举报
回复
赵4老师 2016-09-21
  • 打赏
  • 举报
回复
引用 4 楼 Chen8013 的回复:
开头的:"total":30 是不是表示有30条“记录”?你只贴出来了一部分数据吧? 我感觉用“针对性”的代码进行字符串分析、拆解,也并不难嘛。
Private Sub Command1_Click()
Dim s As String
Dim team(100) As String
Dim i As Long
Dim j As Long
Dim k As Long
Dim n As Long
    s = "{""total"":30,""rows"":[{""dynasty_id"":35,""dynasty_id_val"":""35"",""id"":143,""pk_val"":""143"",""pof_lose_match_counts"":0,""pof_win_match_counts"":0,"
    s = s + """pof_win_persent"":""0"",""point"":256,""sea_all_match_counts"":98,""sea_lose_match_counts"":19,""sea_win_match_counts"":79,""sea_win_persent"":"
    s = s + """80.61%"",""team_id"":""太阳"",""team_id_val"":""22"",""team_status"":""常规赛中"",""team_status_val"":""2"",""user_id"":""山西"",""user_id_val"":""5""},"
    s = s + "{""dynasty_id"":35,""dynasty_id_val"":""35"",""id"":144,""pk_val"":""144"",""pof_lose_match_counts"":0,""pof_win_match_counts"":0,""pof_win_persent"":"
    s = s + """0"",""point"":175,""sea_all_match_counts"":69,""sea_lose_match_counts"":16,""sea_win_match_counts"":53,""sea_win_persent"":""76.81%"",""team_id"":"
    s = s + """开拓者"",""team_id_val"":""23"",""team_status"":""常规赛中"",""team_status_val"":""2"",""user_id"":""北极"",""user_id_val"":""6""},{""dynasty_id"":35,"
    s = s + """dynasty_id_val"":""35"",""id"":139,""pk_val"":""139"",""pof_lose_match_counts"":0,""pof_win_match_counts"":0,""pof_win_persent"":""0"",""point"":35,"
    s = s + """sea_all_match_counts"":18,""sea_lose_match_counts"":8,""sea_win_match_counts"":10,""sea_win_persent"":""55.55%"",""team_id"":""鹈鹕"","
    s = s + """team_id_val"":""18"",""team_status"":""常规赛中"",""team_status_val"":""2"",""user_id"":""小鱼"",""user_id_val"":""33""}]}"
    n = 0
    k = 1
    Do
        k = InStr(k, s, """team_id"":""")
        If k > 0 Then
            k = k + Len("""team_id"":""")
            j = InStr(k, s, """")
            If j > 0 Then
                n = n + 1
                If n > 100 Then Exit Do
                team(n) = Mid(s, k, j - k)
                k = j + 1
            Else
                Exit Do
            End If
        Else
            Exit Do
        End If
    Loop
    For i = 1 To n
        Debug.Print "team(" + CStr(i) + "):[" + team(i) + "]"
    Next
End Sub
'team (1): [太阳]
'team (2): [开拓者]
'team (3): [鹈鹕]

舉杯邀明月 2016-09-20
  • 打赏
  • 举报
回复
开头的:"total":30 是不是表示有30条“记录”?你只贴出来了一部分数据吧? 我感觉用“针对性”的代码进行字符串分析、拆解,也并不难嘛。
  • 打赏
  • 举报
回复
怎样提取josn中的team_id,我可以写QQ2776478814
onlymearmstr 2016-09-20
  • 打赏
  • 举报
回复
Set ojs = CreateObject("msscriptcontrol.scriptcontrol"): ojs.Language = "jScript"
y = ojs.eval("eval(" & strText & ")['rows']['team_id']")
MsgBox y

不行啊
内容概要:本文围绕水陆两栖无人机的任务规划与执行问题,提出了一种基于Matlab实现的智能路径规划解决方案,重点融合粒子群优化算法(PSO)与遗传算法(GA)进行三维环境下的避障路径规划。研究系统性地构建了从复杂地形建模、任务需求分析到算法设计与仿真实验的完整流程,实现了在多约束、动态障碍物等复杂环境下无人机的高效任务调度。通过对GA与PSO两种智能优化算法在路径长度、收敛速度、路径平滑度及稳定性等方面的对比分析,深入探讨了各自在无人机路径规划的适用场景与性能差异,验证了所提方法在提升任务执行效率与安全性方面的有效性。该方案不仅适用于水陆交互通用场景,也为多模态无人系统自主导航提供了可扩展的技术框架。; 适合人群:具备一定Matlab编程能力和算法基础,从事无人机路径规划、智能优化算法研究、自动化控制或相关领域科研工作的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于水陆两栖无人机在复杂自然环境(如江河湖海与陆地交错区域)的自主巡航与任务执行;②比较遗传算法与粒子群算法在三维动态路径规划的优化性能,指导实际工程算法选型;③为多约束条件下无人系统的自主决策与实时避障提供算法支持与仿真验证平台。; 阅读建议:建议读者结合提供的Matlab代码进行动手实践,重点关注两种算法的数学建模过程、适应度函数设计、参数调优策略及路径生成逻辑,通过仿真实验直观对比算法性能差异,深入理解智能优化算法在复杂路径规划问题的应用机制与优化潜力。

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧