/** * json 结点:将 JSON 字符串解析为数组(如 img-url-json -> img-url-arr) * 对应 process:type: "json", method: "json-to-arr", inVars: ["{img-url-json}"], outVars: ["{img-url-arr}"] */ /** * 将 JSON 字符串解析为数组并返回,供后续 for 等使用。 * @param {{ jsonString: string }} input - jsonString 为变量取值后的 JSON 字符串 * @returns {{ success: boolean, result?: any[], error?: string }} */ async function executeJsonToArr({ jsonString }) { if (jsonString == null) return { success: false, error: 'json-to-arr 缺少输入(如 inVars[0])' } const str = typeof jsonString === 'string' ? jsonString.trim() : String(jsonString).trim() if (!str) return { success: false, error: 'json-to-arr 输入为空' } let parsed try { parsed = JSON.parse(str) } catch (e) { return { success: false, error: `JSON 解析失败: ${e && e.message ? e.message : String(e)}` } } const arr = Array.isArray(parsed) ? parsed : (parsed != null ? [parsed] : []) return { success: true, result: arr } } module.exports = { executeJsonToArr }