Skip to content

Instantly share code, notes, and snippets.

@gbluv
Created March 9, 2026 20:45
Show Gist options
  • Select an option

  • Save gbluv/e26cb55fbb7fb517162f10d31a66109a to your computer and use it in GitHub Desktop.

Select an option

Save gbluv/e26cb55fbb7fb517162f10d31a66109a to your computer and use it in GitHub Desktop.
json_store_parser.js
const fs = require("fs")
// load rules file
const rules = JSON.parse(fs.readFileSync("rules.json", "utf8"))
const rows = []
for (const rule of rules) {
let parsed
try {
parsed = JSON.parse(rule.json_data)
} catch {
continue
}
const groups = parsed.conditionGroups || []
for (const group of groups) {
const conditions = group.conditions || []
for (const cond of conditions) {
const values = cond.values || []
for (const v of values) {
rows.push([
rule.user_id,
rule.rule_category_name,
cond.fieldName,
cond.operator,
v.value1 ?? "",
v.value2 ?? ""
])
}
}
}
}
// CSV header
const header = [
"user_id",
"rule_category_name",
"field_name",
"operator",
"value1",
"value2"
]
// create csv
const csv = [header.join(","), ...rows.map(r => r.join(","))].join("\n")
fs.writeFileSync("output.csv", csv)
console.log(`Exported ${rows.length} rows to output.csv`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment