如何调试引发“JSON 错误:JSON 文本未以数组或对象开头以及允许未设置片段的选项”的 Alfred 脚本过滤器?

问题描述

我有一个

结尾的js文件
msg = JSON.stringify(result)
$.NSFileHandle.fileHandleWithStandardOutput.writeData(
    $.Nsstring.alloc.initWithString(String(msg))
        .dataUsingEncoding($.NSUTF8StringEncoding)
)

当我从终端运行脚本时,它返回的 JSON 格式似乎对于脚本过滤器来说是正确的。

$ ~/Documents/myscript.js 
=> {"items":[{"uid":"1","title":"OptA","autocomplete":"OptA","subtitle":"OptA","arg":"1"},{"uid":"2","title":"OptB","autocomplete":"OptB","subtitle":"OptB","arg":"2"}]}

在 Alfred,我创建了一个包含脚本过滤器的工作流。选中 Alfred filters results,语言设置为 bin/bash,并配置为运行我的 JS 脚本 ~/Documents/myscript.js

当我在 Alfred 中输入关键字时,会显示工作流程,但没有返回列表结果。

Alfred 调试器返回

ERROR: Script Filter to Script to Notification[Script Filter] JSON error: JSON text did not start with array or object and option to allow fragments not set. in JSON:
Error: Can't convert types.

我认为这意味着 Alfred 收到的任何内容都未被识别为有效的 JSON,这是正确的吗?

有没有办法询问 Alfred 以检查脚本过滤器接收到的内容

或者有更好的方法来调试这个错误吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)