JSON મરામત સાધન
ધૂંસેલી કે ખામીવાળી JSONને સ્વયંસંચાલિત રીતે સુરક્ષિત, ઝડપી અને મફતમાં સુધારો અને પુનઃપ્રાપ્ત કરો.
આ સાધન તૂટેલા અથવા અમાન્ય JSON ને સ્વચાલિત ભૂલ સુધારણા ઉપયોગ કરીને મરામત કરે છે. તે નિકાસ કરેલ ડેટા, લોગ્સ, અથવા હાથે સંપાદિત ફાઈલોમાં જોવા મળતા સૌથી સામાન્ય સિન્ટેક્સ સમસ્યાઓને નક્કી કરે છે—જેમ કે ગુમ થયેલા ઊધિરાણ, ફસાયેલાં અડ્ડં, અથવા મેળ ન ખાતા કોષ્ઠકો—અને યોગ્ય, પાર્સ કરી શકાય તેવા JSON ની આઉટપુટ આપતું ઉત્પાદન કરે છે.
તમારું JSON નીચે સમારકામ કરો
JSON મરામત કેવી રીતે કામ કરે છે
સાધન તમારા ઇનપુટમાં સામાન્ય JSON.syntax સમસ્યાઓ માટે સ્કેન કરે છે અને નિશ્ચિત સુધારાઓ લાગૂ કરે છે, શક્ય હોઈ ત્યારે માન્ય JSON ઉત્પન્ન કરે છે.
- ઇનપુટનું વિભાજન કરે છે અને સામાન્ય સિન્ટેક્સ ભૂલો શોધે છે, જેમાં ગેરકાયદેસર અક્ષરો, ખોટા સ્થળે મૂકાયેલા બ્રેકેટ અને ખોટા સ્ટ્રિંગ કોટેશનોનો સમાવેશ થાય છે.
- વારંવાર થતા ભૂલો માટે સુધારા લગાવે છે—જેમ કે ગુમ થયેલા અંકડાઓ ઉમેરવું, અંતમાં આવેલી કૉમાઓ દૂર કરવી, અથવા બ્રેકેટસ સાચવવા.
- મરામત કરેલા JSON ને આઉટપુટ કરે છે. મોટાભાગના કેસોમાં, પરિણામ ત્વરિત વિભાજન કે ઉપયોગ માટે તૈયાર હોય છે.
- જો સંરચનાને સ્વચાલીત રીતે મરામત કરી શકાય તો, સ્પષ્ટ ભૂલ બતાવવામાં આવે છે જેથી તમે તમારી ઇનપુટને સુધારી શકો.
સામાન્ય JSON ભૂલો અને તેમને કેવી રીતે ઠીક કરવી
અહીં સામાન્ય JSON ભૂલો બતાવવામાં આવી છે જેમને આ ટૂલ ઠીક કરી શકે છે, દરેક માટે ઉદાહરણો સાથે:
અનકોટેડ કીઝ
કીજ ડબલ કોટસમાં હોવી જ જોઈએ.
{ name: "બોબ" }
{ "name": "બોબ" }
પૂરક સુધારો: કોઈ પણ અનુકોટેડ ઑબ્જેક્ટ કીઝની આસપાસ ડબલકોટ્સ ઉમેરવામાં આવ્યા.
એકલ આત્માક્ષરો વપરાયા
JSON ફક્ત સ્ટ્રિંગ માટે ડબલ કોٹس જ સ્વીકારે છે.
{ 'role': 'એડમિન' }
{ "role": "એડમિન" }
ઠીક કરો: તમામ સ્ટ્રિંગ્સમાં સિંગલ કોٹسને ડબલ કોٹسથી બદલો.
અંતમાં મૌજુદ કમાઓ
છેલ્લા આઇટમ પછી કોઈ અડધી નોંધવાની જરુર નથી.
{ "a": 1, "b": 2, }
{ "a": 1, "b": 2 }
સમાધાન: કોઈ પણ અંતિમ કૉમાને દૂર કરે છે.
અસંગત અથવા બંદ ન થયેલ કોષ્ઠક ચિહ્નો
બધા બ્રેકેટ અને ક્રોસેટ્સ યોગ્ય રીતે બંધ થવા જોઈએ.
[1, 2, 3
[૧, ૨, ૩]
સંચારણા: ગુમ થયેલા બંધ કરતી બ્રૅકેટ્સ અથવા બ્રેસિસ ઉમેરવામાં આવ્યા છે.
ગૂમ થયેલા કે વધતા કમા ચિહ્નો
એરે અને ઓબ્જેક્ટ આઇટમ્સ વચ્ચે ફક્ત એક જ કમા હોવી જોઈએ.
{ "a": 1 "b": 2 }
{ "a": 1, "b": 2 }
સુધારો: ગુમ થયેલા કૉમાઓ દાખલ કરો, અથવા નકલો દૂર કરો.
ટિપ્પણી રેખાઓ હાજર છે
સ્ટેન્ડર્ડ JSON માં કોમેન્ટ્સ (જેમ કે // અથવા /* ... */) મંજૂર નથી.
{ "id": 1, // વપરાશકર્તા આઇડી "active": સાચું }
{ "id": 1, "સક્રિય": સાચું }
મુદ્દો ઠીક કરો: ઇનપુટમાંથી ટિપ્પણીઓની લાઈનો કાઢી નાખો.
અમાન્ય નંબર ફોર્મેટ્સ
માત્ર સાદા દશાંશાંક નંબરો માન્ય છે (NaN, અનંત, અથવા હેક્સાડેસિમલ નહીં).
{ "val":NaN }
{ "val": null }
સમાધાન: અમાન્ય નંબરને નિષ્ક્રિય મૂલ્ય (null) થી બદલવું.
અશ્વાસિત નિયંત્રણ અક્ષરો
સ્ટ્રિંગમાં નવું લાઇન જેવા અક્ષરોનું એસ્કેપિંગ કરવું જરૂરી છે.
{ "msg": "લાઇન1 લાઇન2" }
{ "msg": "પંક્તિ1\nપંક્તિ2" }
સુધારણું: નિયંત્રણ અક્ષરો યોગ્ય રીતે એસ્કેપ કરે છે.
ઓબ્જેક્ટમાં નકલી કીઝ
એક જ ઓબ્જેક્ટમાં નકલી કીઓથી અસ્પષ્ટતા થાય છે.
{ "name": "એ" , "name": "બી" }
{ "name": "બી" }
મુછારો: કોઈપણ નકલી કી માટે માત્ર છેલ્લું મૂલ્ય જ રાખે છે.
અવ્યવસ્થિત એરે
એરેઝમાં આઇટમ્સ વચ્ચે બ્રેકેટ અને કોમાનો ઉપયોગ કરવો જરૂરી છે.
[ ૧ ૨ ૩ ]
[ ૧, ૨, ૩ ]
સુધારો: એરે તત્વો વચ્ચે ગુમ થયેલ કમાઓ ઉમેરવામાં આવી છે.
ખાલી ઈનપુટ અથવા બધા સ્પેસ
JSON ખાલી હોઈ શકતું નથી.
ઋણ
સુધારણું: ખાલી ઇનપુટ માટે શૂન્ય પાછું આપે છે.
ઉદાહરણ: તૂટી ગયેલી JSONમાંથી માન્ય મરામત સુધી
{ user: 'એલિસ', id: 42, roles: [એડમિન, 'સંપાદક',] // વધુ કમાનો active: સાચું }મરામત કરાયેલ JSON આઉટપુટ
{ "user": "એલિસ", "id": 42, "roles": [ "એડમિન", "સંપાદક" ], "active": true }
આ JSON મરામત સાધન કેવી રીતે ઉપયોગ કરવું
- તમારું તૂટેલું JSON નીચેના સંપાદકમાં પેસ્ટ કરો અથવા ટાઇપ કરો.
- સામાન્ય نحو ત્રુટિઓને આપમેળે શોધવા અને સુધારવા માટે 'મરામત કરો' પર ક્લિક કરો.
- મરામત કરેલા આઉટપુટની સમીક્ષા કરો અને તમારા સુધારાયેલ 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)