JSON मरम्मत उपकरण
टूटे या गलत JSON को सुरक्षित, तेज़ और नि:शुल्क रूप से स्वतः सुधारें और पुनः प्राप्त करें।
यह टूल स्वचालित त्रुटि सुधार का उपयोग करके टूटा हुआ या अमान्य JSON ठीक करता है। यह निर्यातित डेटा, लॉग या हाथ से संपादित फ़ाइलों में पाए जाने वाली सबसे आम सिंटैक्स समस्याओं जैसे कि गुम हुई उद्धरण चिन्ह, अनचाहे अल्पविराम या असंगत ब्रैकेट्स को लक्षित करता है और वैध, पार्स किए जाने योग्य JSON आउटपुट के रूप में प्रदान करता है।
अपना JSON नीचे सुधारें
JSON मरम्मत कैसे कार्य करती है
यह साधन आपके इनपुट को सामान्य JSON सिंटैक्स समस्याओं के लिए स्कैन करता है और लक्षित सुधार लागू करता है, जिससे संभव हो तो मान्य JSON उत्पन्न होता है।
- इनपुट को पार्स करता है और सामान्य सिन्टैक्स त्रुटियों का पता लगाता है, जैसे अवैध वर्ण, गलत स्थान पर लगाई गई ब्रैकेट्स, और गलत स्ट्रिंग उद्धरण।
- आम गलतियों को ठीक करता है—जैसे कि गायब कोट्स जोड़ना, अनावश्यक कॉमा हटाना, या ब्रैकेट्स सही करना।
- दुरुस्त किए गए JSON को आउटपुट करता है। अधिकतर मामलों में, परिणाम तुरंत पार्स करने या उपयोग करने के लिए तैयार होता है।
- यदि संरचना को स्वचालित रूप से ठीक नहीं किया जा सकता है, तो एक स्पष्ट त्रुटि दिखाई जाती है ताकि आप अपनी इनपुट को समायोजित कर सकें।
सामान्य JSON त्रुटियाँ और उन्हें कैसे ठीक करें
यहाँ आम JSON गलतियाँ दी गई हैं जिन्हें यह उपकरण सही कर सकता है, प्रत्येक के उदाहरण के साथ:
बिना उद्धरण वाले कुंजी
कुंजियाँ डबल उद्धरण चिह्नों में होनी चाहिये।
{ name: "बॉब" }
{ "name": "बॉब" }
समाधान: किसी भी बिना उद्धरण के ऑब्जेक्ट कीज़ के चारों ओर डबल कोट्स जोड़ता है।
सिंगल कोट्स का उपयोग
JSON केवल स्ट्रिंग के लिए डबल कोट्स स्वीकार करता है।
{ 'role': 'प्रशासक' }
{ "role": "प्रशासक" }
समाधान: सभी स्ट्रिंग्स में एकल उद्धरण चिह्नों को डबल उद्धरण चिह्नों से बदलता है।
अंत में कॉमा
अंतिम आइटम के बाद कोई अल्पविराम आवश्यक नहीं है।
{ "a": 1, "b": 2, }
{ "a": 1, "b": 2 }
सुधार: किसी भी अंत में लगे अल्पविराम को हटाता है।
असंगत या अनपढ़ ब्रैकेट्स
सभी ब्रैकेट और ब्रेसेस ठीक से बंद होने चाहिए।
[1, 2, 3
[1, 2, 3]
सुधार: गायब बंद कोष्ठक या ब्रैस जोड़े गए।
लापता या अतिरिक्त कॉमा
ऐरे और ऑब्जेक्ट आइटम्स को एकल कॉमा द्वारा अलग किया जाना चाहिए।
{ "a": 1 "b": 2 }
{ "a": 1, "b": 2 }
सुधारें: गायब कॉमाओं को जोड़ें, या डुप्लिकेट को हटाएं।
उपस्थित टिप्पणी पंक्तियाँ
स्टैंडर्ड JSON में कमेंट्स (जैसे // या /* ... */) की अनुमति नहीं है।
{ "id": 1, // उपयोगकर्ता आईडी "active": true }
{ "id": 1, "active": true }
समाधान: इनपुट से टिप्पणी पंक्तियाँ हटाएं।
अमान्य संख्या प्रारूप
केवल सामान्य दशमलव संख्या मान्य हैं (NaN, अनंत, या हेक्साडेसिमल नहीं)।
{ "val": NaN }
{ "val": null }
समाधान: अमान्य नंबरों को शून्य (null) से बदलता है।
बिना एस्केप किए नियंत्रण वर्ण
स्ट्रिंग्स में नए लाइन जैसे कैरेक्टर्स को एस्केप करना ज़रूरी है।
{ "msg": "लाइन1 लाइन2" }
{ "msg": "लाइन1\nलाइन2" }
समाधान: नियंत्रण वर्णों को सही ढंग से इस्केप करता है।
ऑब्जेक्ट में डुप्लिकेट कुंजी
एक ही वस्तु में समान कुंजी होने से अस्पष्टता उत्पन्न होती है।
{ "name": "ए", "name": "बी" }
{ "name": "बी" }
समाधान: किसी भी डुप्लिकेट कुंजी के लिए केवल अंतिम मान रखें।
गलत स्वरूपित सरणियाँ
ऐरे में आइटम के बीच ब्रैकेट और कॉमा होना आवश्यक है।
[ 1 2 3 ]
[ 1, 2, 3 ]
समाधान: एरे तत्वों के बीच गुम हुए अल्पविराम जोड़ें।
खाली इनपुट या सभी खाली स्थान
JSON खाली नहीं हो सकता।
शून्य
ठीक करें: खाली इनपुट के लिए null लौटाता है।
उदाहरण: टूटी हुई JSON से एक मान्य मरम्मत तक
{ उपयोगकर्ता: 'ऐलिस', आईडी: 42, भूमिकाएँ: [प्रशासक, 'संपादक',] // अतिरिक्त अल्पविराम सक्रिय: सत्य }मरम्मत किया गया JSON आउटपुट
{ "user": "ऐलिस", "id": 42, "roles": [ "प्रशासक", "संपादक" ], "active": true }
इस JSON मरम्मत टूल का उपयोग कैसे करें
- अपना टूटा हुआ JSON नीचे दिए गए संपादक में चिपकाएं या लिखें।
- सामान्य सिंटैक्स त्रुटियों का स्वतः पता लगाने और सुधारने के लिए 'मरम्मत' पर क्लिक करें।
- मरमammat किए गए आउटपुट की समीक्षा करें और अपनी ठीक की गई JSON कॉपी करें।
महत्वपूर्ण डेटा के लिए उपयोग करने से पहले हमेशा पुनः मरम्मत किए गए JSON की जाँच करें—जटिल या अत्यधिक क्षतिग्रस्त इनपुट के लिए मैनुअल समायोजन आवश्यक हो सकते हैं।
JSON मरम्मत के लिए कोड उदाहरण
विभिन्न प्रोग्रामिंग भाषाओं में JSON की मरम्मत कैसे करें, जानिए।
const { jsonrepair } = require('jsonrepair');
const broken = '{ name: "Bob", age: 42, }';
const fixed = jsonrepair(broken);
console.log(fixed); // Now valid JSON!
let broken = "{ name: 'Bob', age: 42 }";
broken = broken.replace(/(['"])?:([\s]*)([^\s,\{\}\[\]":']+)/g, '"$1$3":');
try {
let obj = JSON.parse(broken);
console.log(obj);
} catch (e) {
console.error('Still broken:', e.message);
}
import dirtyjson
broken = "{ name: 'Bob', age: 42 }"
obj = dirtyjson.loads(broken)
print(obj)
import demjson3
broken = "{ name: 'Bob', age: 42 }"
obj = demjson3.decode(broken)
print(obj)
package main
import (
"fmt"
"github.com/robertkrimen/otto"
)
func main() {
vm := otto.New()
broken := "{ name: 'Bob', age: 42 }"
value, err := vm.Run("(" + broken + ")")
if err != nil {
fmt.Println("Cannot repair:", err)
} else {
obj, _ := value.Export()
fmt.Println(obj)
}
}
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
String broken = "{'name': 'Bob', 'age': 42}".replace(''', '"');
JSONObject obj = new JSONObject(broken);
System.out.println(obj);
}
}
using System;
using Newtonsoft.Json;
class Program {
static void Main() {
var broken = "{ name: 'Bob', age: 42 }".Replace("'", "\"");
try {
var obj = JsonConvert.DeserializeObject(broken);
Console.WriteLine(obj);
} catch (Exception ex) {
Console.WriteLine("Broken JSON: " + ex.Message);
}
}
}
<?php
$broken = "{ name: 'Bob', age: 42 }";
$fixed = preg_replace("/'([^"]*)'/", '"$1"', $broken);
$fixed = preg_replace('/([a-zA-Z0-9_]+):/', '"$1":', $fixed);
$obj = json_decode($fixed);
var_dump($obj);
# Using system call to npx jsonrepair
require 'open3'
broken = "{ name: 'Bob', age: 42 }"
fixed, _ = Open3.capture2("echo #{broken.inspect} | npx jsonrepair")
puts fixed
echo "{ name: 'Bob', age: 42 }" | npx jsonrepair
// Rust does not have a json repair crate yet. Pre-process string with regex to fix simple cases, then use serde_json.
import org.json.JSONObject
fun main() {
var broken = "{ name: 'Bob', age: 42 }".replace("'", "\"")
broken = Regex("([a-zA-Z0-9_]+):").replace(broken, ""$1":")
val obj = JSONObject(broken)
println(obj)
}
import { jsonrepair } from 'jsonrepair';
const broken = '{ name: "Bob", age: 42 }';
const fixed = jsonrepair(broken);
console.log(fixed);
var broken = "{ name: 'Bob', age: 42 }";
var fixed = broken.replaceAll("'", '"').replaceAllMapped(
RegExp(r'([a-zA-Z0-9_]+):'),
(m) => '"${m[ 1 ]}":',
);
print(fixed);
broken = "{ name: 'Bob', age: 42 }"
fixed = Regex.replace(~r/'/, broken, """)
fixed = Regex.replace(~r/(\w+):/, fixed, ""\\1":")
IO.puts(fixed)