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]
திருத்தம்: காணாமல் போன முடிவுக் கோடுகள் அல்லது அடுக்குகள் சேர்க்கப்பட்டுள்ளன.
காணாமல் போன அல்லது கூடுதலான கமாஸ்
அணி மற்றும் பொருள் உருப்படிகள் ஒரே komma கொண்டு பிரிக்கப்பட வேண்டும்.
{ "a": 1 "b": 2 }
{ "a": 1, "b": 2 }
பதிப்பு: காணாமல் போன கமாக்களைச் சேர்க்கிறது அல்லது நகல்களை அகற்றுகிறது.
கருத்து வரிகள் உள்ளன
நிலையான JSON கமெண்ட்களை (// அல்லது /* ... */ போன்றவை) அனுமதிக்காது.
{ "id": 1, // பயனர் ஐடி "active": true }
{ "id": 1, "active": true }
திருத்தம்: உள்ளீட்டிலிருந்து கருத்து வரிகளை அகற்றுகிறது.
தவறான எண் வடிவமைப்புகள்
சாதாரண தசவரிசை எண்கள் மட்டுமே செல்லுபடியாகும் (NaN, முடிவில்லா, அல்லது ஹெக்சடெசிமல் எண்கள் அல்ல).
{ "val": NaN }
{ "val": null }
சரி செய்யும்: தவறான எண்களை வெற்று மதிப்பாக மாற்றுகிறது.
அதிகப்படியான கட்டுப்பாட்டு எழுத்துக்கள்
நூலைச் சேர்ந்த எழுத்துக்கள் (newlines) போன்ற எழுத்துக்கள் சரியான முறையில் அடையாளம் காட்டப்பட வேண்டும்.
{ "msg": "வரி1 வரி2" }
{ "msg": "கூர்1\nகூர்2" }
சரி செய்தல்: கட்டுப்பாட்டு எழுத்துக்களை சரியாக மாற்றுதல்.
உருப்படியில் நகல் சாவிகள்
ஒரே பொருளில் நகல் விசைகள் குழப்பத்தை உண்டாக்குகின்றன.
{ "name": "ஏ", "name": "பி" }
{ "name": "பி" }
சரி செய்யப்பட்டது: எது போன்ற நகல் விசைகளுக்கு அந்த விசையின் கடைசி மதிப்பையே மட்டும் வைத்துக் கொள்ளும்.
தவறான வரிசைகள்
அணி (Arrays) உரிய குறிக்கோள்களும் coma (உரைவிரிவுகள்) உடன் இருக்க வேண்டும்.
[ 1 2 3 ]
[ 1, 2, 3 ]
கட்டமைப்புகளில் காணாமல் போன நிலைத்துண்டுகளைச் சரி செய்க: வரிசை உறுப்புகளுக்கு இடையில் இல்லாமல் இருந்த கமாங்களைச் சேர்.
காலியான உள்ளீடு அல்லது வெறும் வெள்ளிடங்கள்
JSON காலியாக இருக்க முடியாது.
நிலையற்ற
பிழை திருத்தம்: காலியான உள்ளீட்டிற்கு null (பூஜ்யம்) திருப்புகிறது.
உதாரணம்: குறைந்த JSON-இல் இருந்து சீர் செய்யக்கூடிய சரியான வடிவம் வரை
{ user: 'அலிஸ்', id: 42, roles: [நிர்வாகி, 'எடிட்டர்'] // கூடுதல் கமா active: true }பின்னோருக்கூடிய JSON விளைவு
{ "user": "அலிஸ்", "id": 42, "roles": [ "நிர்வாகி", "திருத்துநர்" ], "active": true }
இந்த JSON பழுதுபார்க்கும் கருவியை பயன்படுத்துவது எப்படி
- உங்கள் உடைந்த 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)