You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

B4J解析endpoints.txt中JSON出现org.json.JSONException错误,求解决

问题排查与解决方案

错误原因

  • File.ReadList方法会将文件逐行拆分为列表元素,而你的endpoints.txt中存储的是一个完整的JSON数组结构,第一行仅为[,单独解析这一行必然触发Unterminated array错误——因为这不是一个完整的JSON片段。
  • 代码逻辑错误地假设每行都是一个独立的JSON对象,但实际上整个文件内容才是一个包含所有端点数据的JSON数组。

修复方案

将文件读取方式改为读取完整内容,再解析整个JSON数组,修改后的代码如下:

Sub tickInterval_tick
    time.Enabled= False
    ' 读取文件完整内容
    Dim endpointJson As String = File.ReadString(File.DirApp, "endpoints.txt")
    Dim parser As JSONParser
    parser.Initialize(endpointJson)
    ' 解析整个JSON数组为List
    Dim endpointList As List = parser.NextArray
    
    ' 遍历数组中的每个端点对象
    For Each endpointMap As Map In endpointList
        ContainerReady(endpointMap.Get("name"), endpointMap.Get("host"), endpointMap.Get("token"))
    Next
    time.Enabled= True
End Sub

代码说明

  1. File.ReadString:读取文件的全部文本内容,确保获取到完整的JSON结构,避免逐行拆分导致的不完整JSON片段。
  2. parser.NextArray:将完整的JSON字符串解析为List,每个元素对应一个端点的Map对象。
  3. 遍历List:逐个取出每个端点的Map,调用ContainerReady处理数据。

内容的提问来源于stack exchange,提问作者Ardean Angkasa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:09:24