<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: xiaochen11223</title>
    <description>The latest articles on DEV Community by xiaochen11223 (@xiaochen11223).</description>
    <link>https://dev.to/xiaochen11223</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4167715%2F430d62fd-a35b-4eb7-a80a-3169889357ec.png</url>
      <title>DEV Community: xiaochen11223</title>
      <link>https://dev.to/xiaochen11223</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xiaochen11223"/>
    <language>en</language>
    <item>
      <title>How to Debug JSON Errors Fast: A Practical Guide</title>
      <dc:creator>xiaochen11223</dc:creator>
      <pubDate>Wed, 07 Oct 2026 05:17:04 +0000</pubDate>
      <link>https://dev.to/xiaochen11223/how-to-debug-json-errors-fast-a-practical-guide-48a3</link>
      <guid>https://dev.to/xiaochen11223/how-to-debug-json-errors-fast-a-practical-guide-48a3</guid>
      <description>&lt;p&gt;JSON errors are among the most common (and annoying) issues developers face. A missing comma, an extra quote, or a trailing comma can break an entire API response. Here's a practical workflow to debug them fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Validate first, don't eyeball
&lt;/h2&gt;

&lt;p&gt;Don't scan a 200-line JSON by eye. Paste it into a validator that tells you the exact &lt;strong&gt;line and column&lt;/strong&gt; of the error. This alone saves minutes every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Check the common culprits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trailing commas&lt;/strong&gt; - &lt;code&gt;[1, 2, 3,]&lt;/code&gt; is invalid in strict JSON&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unescaped quotes&lt;/strong&gt; inside string values&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single quotes&lt;/strong&gt; instead of double quotes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comments&lt;/strong&gt; - JSON doesn't allow them (unlike JSONC)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Missing colons&lt;/strong&gt; between key and value&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Format before you read
&lt;/h2&gt;

&lt;p&gt;A minified blob is unreadable. Beautify it first - with proper indentation, structural mistakes become visually obvious.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Diff large changes
&lt;/h2&gt;

&lt;p&gt;When a JSON response changes between deploys, use a diff tool to spot exactly what shifted instead of comparing manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Use the right tool
&lt;/h2&gt;

&lt;p&gt;For quick work I use &lt;a href="https://jsonmini.com" rel="noopener noreferrer"&gt;JSONMini&lt;/a&gt; - it's free, runs 100% in your browser, and gives you precise error line/column positions, a tree view with image previews, side-by-side diff, custom indentation, and URL sharing via the &lt;code&gt;?json=&lt;/code&gt; parameter. Your data never leaves your machine.&lt;/p&gt;

&lt;p&gt;Happy debugging!&lt;/p&gt;

</description>
      <category>json</category>
      <category>debugging</category>
      <category>webdev</category>
      <category>tools</category>
    </item>
    <item>
      <title>How I built a privacy-first JSON formatter that runs 100% in the browser</title>
      <dc:creator>xiaochen11223</dc:creator>
      <pubDate>Wed, 07 Oct 2026 04:26:14 +0000</pubDate>
      <link>https://dev.to/xiaochen11223/how-i-built-a-privacy-first-json-formatter-that-runs-100-in-the-browser-1cog</link>
      <guid>https://dev.to/xiaochen11223/how-i-built-a-privacy-first-json-formatter-that-runs-100-in-the-browser-1cog</guid>
      <description>&lt;p&gt;A while ago I kept running into the same problem: I needed to format, validate and compare JSON payloads every day, but I didn't want to paste sensitive API responses into some random website. So I built &lt;strong&gt;JSONMini&lt;/strong&gt; — a JSON toolkit that does everything in your browser. No uploads, no server, no data leaves your machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Minify &amp;amp; Beautify&lt;/strong&gt; — with configurable indentation (2/3/4 spaces or tabs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validate&lt;/strong&gt; — with error line/column highlighting so you know exactly where the JSON broke&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Format&lt;/strong&gt; — pretty-print with optional key sorting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Diff&lt;/strong&gt; — side-by-side comparison of two JSON payloads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Viewer&lt;/strong&gt; — tree view with image previews for URLs inside your JSON&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The interesting part
&lt;/h2&gt;

&lt;p&gt;Since everything runs client-side, there is no backend to worry about. The heavy lifting is done with the built-in &lt;code&gt;JSON.parse&lt;/code&gt;/&lt;code&gt;JSON.stringify&lt;/code&gt; plus a custom tokenizer for error positions, and the whole UI is a Next.js app deployed on Cloudflare Workers.&lt;/p&gt;

&lt;p&gt;Two features I ended up loving:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;URL sharing&lt;/strong&gt; — you can pass JSON via the &lt;code&gt;?json=&lt;/code&gt; query parameter, so sharing a payload with a colleague is as easy as sending a link.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local history&lt;/strong&gt; — the last 10 payloads are kept in &lt;code&gt;localStorage&lt;/code&gt;, so you can restore previous work without re-pasting.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;It's free, no sign-up required: &lt;strong&gt;&lt;a href="https://jsonmini.com" rel="noopener noreferrer"&gt;https://jsonmini.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're building something similar, happy to answer questions in the comments!&lt;/p&gt;

</description>
      <category>beginners</category>
    </item>
  </channel>
</rss>
