JSON_PARSER.md 1.8 KB

JSON Parser 使用说明

通过 IPC 调用 json-parser.jsstatic 目录下的 JSON 做创建、读取、更新和存在检查。路径相对于 static,如 jason/testjsonstatic/jason/testjson.json(无 .json 会自动补全)。


推荐:封装函数(device.js)

import { createJsonFile, readJsonFile, updateJsonFile, checkJsonFileExists } from './device.js'

await createJsonFile('jason/testjson', { devices: [] })
const data = await readJsonFile('jason/testjson')                    // 整个文件
const ip = await readJsonFile('jason/testjson', ['devices', 0, 'ip']) // 键路径
await updateJsonFile('jason/testjson', { newKey: 'value' })          // 整文件合并
await updateJsonFile('jason/testjson', true, ['settings', 'autoConnect']) // 按路径更新
const exists = await checkJsonFileExists('jason/testjson')

底层调用(runNodejsScript)

操作 参数 返回
create filePath, jsonString { success, message }
read filePath, 可选 keyPathJson { success, data },无文件时 data: null
update filePath, jsonString, 可选 keyPathJson { success, message }
check filePath { success, exists }

调用方式:window.electronAPI.runNodejsScript('json-parser', operation, ...args),返回的 stdoutJSON.parse()。键路径为数组并 JSON.stringify,如 ['devices', 0, 'ip']


注意

  • 路径仅限 static 下,禁止 .. 和绝对路径。
  • 数据传入前需 JSON.stringify();读回后对 stdoutJSON.parse()
  • 失败时返回 { success: false, error: "..." };读操作文件不存在为 { success: true, data: null }
  • 目录不存在时会自动创建。