JSON ਮੁਰੰਮਤ ਟੂਲ
ਤੁਟੇ ਹੋਏ ਜਾਂ ਗਲਤ ਬਣੇ JSON ਨੂੰ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ, ਤੇਜ਼ ਅਤੇ ਮੁਫ਼ਤ ਰੂਪ ਵਿੱਚ ਠੀਕ ਕਰੋ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰੋ।
ਇਹ ਟੂਲ ਟੁੱਟੇ ਜਾਂ ਗਲਤ JSON ਨੂੰ ਆਟੋਮੇਟਿਕ ਐਰਰ ਸੁਧਾਰ ਦੁਆਰਾ ਠੀਕ ਕਰਦਾ ਹੈ। ਇਹ ਨਿਰਯਾਤ ਕੀਤੇ ਡਾਟਾ, ਲੌਗਜ਼ ਜਾਂ ਹੱਥੋਂ ਬਦਲੇ ਹੋਏ ਫਾਈਲਾਂ ਵਿੱਚ ਮਿਲਣ ਵਾਲੀਆਂ ਸਭ ਤੋਂ ਆਮ ਸਿੰਟੈਕਸ ਸਮੱਸਿਆਵਾਂ ਜਿਵੇਂ ਕਿ ਕਿਉਟੇ ਨਾਂ ਹੋਣਾ, ਬੇਤਰਤੀਬ ਕੌਮਾ, ਜਾਂ ਗਲਤ ਜੋੜੇ ਬ੍ਰੈਕਟਸ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਸਹੀ, ਪੜ੍ਹਨ ਯੋਗ JSON ਨਤੀਜਾ ਵਜੋਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਹੇਠਾਂ ਆਪਣਾ JSON ਮੁਰੰਮਤ ਕਰੋ
JSON ਮੁਰੰਮਤ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀ ਹੈ
ਇਹ ਟੂਲ ਤੁਹਾਡੇ ਇੰਪੁੱਟ ਵਿੱਚ ਆਮ JSON ਸੰਟੈਕਸ ਸਮੱਸਿਆਵਾਂ ਲਈ ਸਕੈਨ ਕਰਦਾ ਹੈ ਅਤੇ ਨਿਸ਼ਾਨਦੇਹ ਤਰੀਕੇ ਨਾਲ ਸੁਧਾਰ ਲਗਾਉਂਦਾ ਹੈ, ਜਿੱਥੇ ਸੰਭਵ ਹੋਵੇ ਪ੍ਰਮਾਣਿਤ JSON ਬਣਾਉਂਦਾ ਹੈ।
- ਇਨਪੁੱਟ ਨੂੰ ਪਾਰਸ ਕਰਦਾ ਹੈ ਅਤੇ ਆਮ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਗਲਤੀਆਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਗੈਰਕਾਨੂੰਨੀ ਅੱਖਰ, ਗਲਤ ਜਗ੍ਹਾ ’ਤੇ ਬ੍ਰੈਕੇਟਸ, ਅਤੇ ਗਲਤ ਸਟਰਿੰਗ ਉਚਾਰਨ ਸ਼ਾਮਲ ਹਨ।
- ਅਕਸਰ ਹੋਣ ਵਾਲੀਆਂ ਗਲਤੀਆਂ ਲਈ ਸੁਧਾਰ ਲੱਗਾਉਂਦਾ ਹੈ—ਜਿਵੇਂ ਕਿ ਲਾਪਤਾ ਕੋਟਸ਼ਨ ਜੋੜਨਾ, ਅੰਤੀਮ ਕੌਮਾ ਹਟਾਉਣਾ, ਜਾਂ ਕੋਠੜੀਆਂ ਸਹੀ ਕਰਨਾ।
- ਠੀਕ ਕੀਤਾ ਹੋਇਆ JSON ਨਿਕਾਸ ਕਰਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਕੇਸਾਂ ਵਿੱਚ, ਨਤੀਜਾ ਤੁਰੰਤ ਵਿਆਖਿਆ ਕਰਨ ਜਾਂ ਇਸਤेमाल ਕਰਨ ਲਈ ਤਿਆਰ ਹੁੰਦਾ ਹੈ।
- ਜੇ ਸਟਰੱਕਚਰ ਨੂੰ ਸਵੈਚਲਿਤ ਤਰੀਕੇ ਨਾਲ ਠੀਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ, ਤਾਂ ਇੱਕ ਸਾਫ਼ ਗਲਤੀ ਦਰਸਾਈ ਜਾਂਦੀ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣਾ ਇਨਪੁਟ ਠੀਕ ਕਰ ਸਕੋ।
ਆਮ JSON ਗਲਤੀਆਂ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਕਿਵੇਂ ਸੁਧਾਰਿਆ ਜਾਵੇ
ਇੱਥੇ ਕੁਝ ਆਮ JSON ਗਲਤੀਆਂ ਹਨ ਜੋ ਇਹ ਟੂਲ ਠੀਕ ਕਰ ਸਕਦਾ ਹੈ, ਹਰ ਇਕ ਲਈ ਉਦਾਹਰਣਾਂ ਸਮੇਤ:
ਬਿਨਾਂ ਉਧਰਣ ਚਿੰਨ੍ਹਾਂ ਵਾਲੀ ਕੁੰਜੀ
ਕੁੰਜੀਆਂ ਨਿੱਕੀ ਦੋਹਾਂ ਕਵੋਟੇਸ਼ਨ ਵਿੱਚ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ।
{ name: "ਬਾਬ" }
{ "name": "ਬਾਬ" }
ਸੁਧਾਰ: ਕਿਸੇ ਵੀ ਅਣਕੋਟ ਕੀਤੀਆਂ ਆਬਜੈਕਟ ਕੁੰਜੀਆਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਡਬਲ ਕੋਟਸ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।
ਇੱਕਲਾ ਕੋਟੇਸ਼ਨ ਮਾਰਕਸ ਵਰਤੇ ਗਏ
JSON ਸਿਰਫ਼ ਸਤਰਾਂ ਲਈ ਡਬਲ ਕੋਟਸ ਨੂੰ ਮੰਨਦਾ ਹੈ।
{ '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, // ਉਪਭੋਗਤਾ ID "active": true }
{ "id": 1, "active": ਸਚ }
ਸੁਧਾਰੋ: ਇੰਪੁੱਟ ਵਿੱਚੋਂ ਟਿੱਪਣੀ ਵਾਲੀ ਲਾਈਨਾਂ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ।
ਅਣਜਾਣ ਨੰਬਰ ਫਾਰਮੈਟ
ਸਿਰਫ਼ ਸਧਾਰਣ ਦਸ਼ਮਲਵ ਅੰਕ ਹੀ ਵੈਧ ਹਨ (ਕੋਈ NaN, ਅਨੰਤ, ਜਾਂ ਹੈਕਸਾਡੇਸੀਮਲ ਨਹੀਂ).
{ "val": NaN }
{ "val": null }
ਸੁਧਾਰ: ਗਲਤ ਨੰਬਰਾਂ ਨੂੰ null ਨਾਲ ਬਦਲਦਾ ਹੈ।
ਅਣਛੁਪੇ ਕੰਟਰੋਲ ਅੱਖਰ
ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਨਵੀਂ ਲਾਈਨਾਂ ਵਰਗੇ ਅੱਖਰਾਂ ਨੂੰ ਐਸਕੇਪ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
{ "msg": "ਪੰਗਤੀ1 ਪੰਗਤੀ2" }
{ "msg": "ਲਾਈਨ1\nਲਾਈਨ2" }
ਸਧਾਰਣ: ਨਿਯੰਤਰਣ ਚਿੰਨ੍ਹਾਂ ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਐਸਕੇਪ ਕਰਦਾ ਹੈ।
ਆਬਜੈਕਟ ਵਿੱਚ ਨਕਲ ਕੀ
ਇੱਕੋ ਜੇਹੇ ਝੁੰਡ ਵਿੱਚ ਨਕਲ ਕੀਜ਼ ਅਸਪਸ਼ਟਤਾ ਪੈਦਾ ਕਰਦੀਆਂ ਹਨ।
{ "name": "ਏ", "name": "ਬੀ" }
{ "name": "ਬੀ" }
ਸੰਧਾਰਨ: ਕਿਸੇ ਵੀ ਨਕਲ ਕੁੰਜੀ ਲਈ ਸਿਰਫ਼ ਆਖਰੀ ਮੁੱਲ ਰੱਖਦਾ ਹੈ।
ਗਲਤ ਬਣੇ ਐਰੇ
ਐਰੇ ਵਿੱਚ ਆਈਟਮਾਂ ਦੇ ਵਿਚਕਾਰ ਕੋਠੜੀਆਂ ਅਤੇ ਕੌਂਮਾ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
[ 1 2 3 ]
[ 1, 2, 3 ]
ਸੁਧਾਰ: ਐਰੇ ਦੇ ਤੱਤਾਂ ਵਿਚਕਾਰ ਗੁੰਝਲਦਾਰ ਕਮੇ (ਕੋਮਾ) ਜੋੜੇ ਗਏ ਹਨ।
ਖਾਲੀ ਇਨਪੁੱਟ ਜਾਂ ਸਾਰੇ ਸਫ਼ੇਦ ਅੱਖਰ
JSON ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ।
ਨਲ
ਠੀਕ ਕਰੋ: ਖਾਲੀ ਇਨਪੁਟ ਲਈ ਨਲ ਵਾਪਸ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਨ: ਟੁੱਟੇ ਹੋਏ JSON ਤੋਂ ਇੱਕ ਵੈਧ ਮੁਰੰਮਤ ਤੱਕ
{ ਯੂਜ਼ਰ: 'ਐਲਿਸ', ਆਈਡੀ: 42, ਭੂਮਿਕਾਵਾਂ: [ਵਰਿਗਕ, 'ਸੰਪਾਦਕ',] // ਵਾਧੂ ਕੌਮਾ ਸਰਗਰਮ: ਸੱਚ }ਮੁਰੰਮਤ ਕੀਤਾ ਗਿਆ 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)