{
 "schema_version": 1,
 "generated": "2026-10-24",
 "id": "ggoggam-vitre--extract-table-rows-as-json",
 "repo": "ggoggam/vitre",
 "repo_url": "https://github.com/ggoggam/vitre",
 "repo_slug": "ggoggam-vitre",
 "title": "Pull a whole results table into JSON in one step",
 "page_title": "How to pull a whole results table into JSON in one step with Vitre",
 "summary": "Use extractRows to get one record per matching row, with each column scoped to its own row.",
 "who": "A developer or data analyst who needs structured rows from a page rendered in an app WebView.",
 "problem": "Per-field extraction loses row alignment when one row is missing a value, so later records land on the wrong item.",
 "outcome": "A JSON array of records in the workflow variable named by into, with missing values as empty strings inside their own row.",
 "steps": [
  "Add vitre-core to your commonMain dependencies as in the first use case.",
  "Write extractRows with a row locator, for example xpath(\"//li[@data-sku]\"), and a limit.",
  "Add column entries with their own locators, using xpath(\".\") to read the row itself.",
  "Run the workflow with WorkflowEngine and read the variable named in into from the Completed event."
 ],
 "agent_prompt": "Using the vitre-core dependency in <project-path>, write an extractRows step over <row-xpath> with columns <column-list> and a limit of <n>. Expected output: a JSON array with one record per matched row. Verify that a row lacking a column value has an empty string for that column and does not shift the other records.",
 "agents": [
  "any"
 ],
 "difficulty": "Intermediate",
 "time": "1 hour",
 "basis": "readme",
 "caveat": "The README describes ExtractRows for matching rows on the page, but you must confirm the target page's markup supports the chosen XPath expressions before relying on the output.",
 "category": "Software and DevOps",
 "tags": [
  "Software and DevOps"
 ],
 "lang": "kotlin",
 "requirements": [
  "Kotlin 2.3.10 Multiplatform project (Android minSdk 24, iOS 15.0+, or desktop with JetBrains Runtime and JCEF 21)",
  "Maven Central access, which is the only setup needed for the published artifacts",
  "Compose Multiplatform if you want the optional vitre-compose UI layer"
 ],
 "risk": "dual-use",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [],
 "best": false,
 "score": 0.9,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/ggoggam-vitre/extract-table-rows-as-json/",
 "md": "https://dedupedai.com/use-cases/ggoggam-vitre/extract-table-rows-as-json/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/ggoggam-vitre--extract-table-rows-as-json.json",
 "api_version": "v1"
}
