จัดรูปแบบและทำให้ข้อมูล JSON ของคุณสวยงามด้วยการเยื้องที่เหมาะสม ทำให้ JSON ดิบอ่านง่ายด้วยการเน้นไวยากรณ์และการตรวจสอบความถูกต้อง
จัดรูปแบบและทำให้ JSON ของคุณสวยงามด้วยเครื่องมือง่ายๆ นี้
JSON ที่จัดรูปแบบจะปรากฏที่นี่...
JSON (JavaScript Object Notation) เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่มีน้ำหนักเบาซึ่งได้กลายเป็นมาตรฐานสำหรับการแลกเปลี่ยนข้อมูลในแอปพลิเคชันเว็บ แม้ว่าจะมีความเรียบง่าย แต่ข้อมูล JSON อาจอ่านได้ยากเมื่อถูกบีบอัดหรือขาดการจัดรูปแบบที่เหมาะสม เครื่องมือนี้ช่วยให้คุณสามารถเปลี่ยนสตริง JSON ที่ไม่ถูกจัดรูปแบบให้เป็นรูปแบบที่มีโครงสร้างที่ดีและมีการเยื้องที่อ่านง่ายและวิเคราะห์ได้
การจัดรูปแบบ JSON (หรือที่เรียกว่า "การพิมพ์สวย") จะเพิ่มการเยื้องที่สม่ำเสมอ, การขึ้นบรรทัดใหม่ และการเว้นวรรคเพื่อทำให้โครงสร้างลำดับชั้นของข้อมูล JSON มองเห็นได้ชัดเจน ซึ่งมีค่ามากเมื่อทำงานกับวัตถุที่ซับซ้อนหรือชุดข้อมูลขนาดใหญ่ซึ่งความสัมพันธ์ระหว่างองค์ประกอบอาจยากที่จะเข้าใจ
เครื่องมือจัดรูปแบบ JSON ของเรามีอินเทอร์เฟซที่เรียบง่ายเพื่อทำให้ข้อมูล JSON ของคุณสวยงามด้วยการเยื้องที่เหมาะสมและโครงสร้างที่ชัดเจน ทำให้มันอ่านได้ง่ายขึ้นสำหรับมนุษย์ในขณะที่ยังคงความถูกต้องสำหรับเครื่องจักร
JSON ถูกสร้างขึ้นจากโครงสร้างหลักสองประเภท:
{}
ชื่อแต่ละชื่อจะตามด้วยเครื่องหมายทวิภาค :
และคู่จะถูกแยกด้วยเครื่องหมายจุลภาค ,
1 {"name": "John", "age": 30, "city": "New York"}
2
[]
ค่าแต่ละค่าจะแยกด้วยเครื่องหมายจุลภาค ,
1 ["apple", "banana", "cherry"]
2
ค่าของ JSON สามารถเป็น:
"Hello World"
42
หรือ 3.14159
true
หรือ false
null
{"key": "value"}
[1, 2, 3]
JSON ที่ถูกต้องต้องปฏิบัติตามกฎไวยากรณ์เหล่านี้:
ข้อผิดพลาดทางไวยากรณ์ทั่วไปประกอบด้วย:
การจัดรูปแบบ JSON จะเปลี่ยน JSON ที่บีบอัดและไม่ถูกจัดรูปแบบให้เป็นรูปแบบที่อ่านได้มากขึ้นโดย:
การวิเคราะห์: สตริง JSON จะถูกวิเคราะห์ก่อนเพื่อให้แน่ใจว่ามีความถูกต้องและเพื่อสร้างการแทนค่าข้อมูลในหน่วยความจำ
การเยื้อง: แต่ละระดับที่ซ้อนกันของวัตถุและอาเรย์จะถูกเยื้อง (โดยทั่วไป 2 หรือ 4 ช่องว่าง) เพื่อแสดงลำดับชั้นให้เห็นได้ชัดเจน
การขึ้นบรรทัดใหม่: บรรทัดใหม่จะถูกเพิ่มหลังจากแต่ละคุณสมบัติหรือองค์ประกอบของอาเรย์เพื่อปรับปรุงการอ่าน
การเว้นวรรค: จะมีการเพิ่มการเว้นวรรคที่สม่ำเสมอรอบเครื่องหมายทวิภาคและเครื่องหมายจุลภาค
ตัวอย่างเช่น JSON ที่บีบอัดนี้:
1{"name":"John Doe","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["reading","hiking","photography"]}
2
จะกลายเป็น JSON ที่จัดรูปแบบแล้วนี้:
1{
2 "name": "John Doe",
3 "age": 30,
4 "address": {
5 "street": "123 Main St",
6 "city": "Anytown",
7 "state": "CA"
8 },
9 "hobbies": [
10 "reading",
11 "hiking",
12 "photography"
13 ]
14}
15
เครื่องมือของเราใช้การเยื้องมาตรฐาน 2 ช่องว่างต่อระดับ ซึ่งเป็นแนวทางปฏิบัติทั่วไปในชุมชนการพัฒนาและให้ความสมดุลที่ดีระหว่างความกระชับและความอ่านได้
ด้านที่สำคัญของการจัดรูปแบบ JSON คือการตรวจสอบความถูกต้อง ก่อนที่ JSON จะถูกจัดรูปแบบ จะต้องมีความถูกต้องตามไวยากรณ์ตามที่กำหนดในมาตรฐาน JSON ข้อผิดพลาดในการตรวจสอบทั่วไปประกอบด้วย:
ข้อผิดพลาดทางไวยากรณ์:
ข้อผิดพลาดเกี่ยวกับประเภทข้อมูล:
undefined
หรือ NaN
เมื่อคุณพบ JSON ที่ไม่ถูกต้อง ข้อความแสดงข้อผิดพลาดสามารถช่วยระบุปัญหาได้ ตัววิเคราะห์ JSON ส่วนใหญ่จะแสดงตำแหน่งที่การวิเคราะห์ล้มเหลว ซึ่งสามารถช่วยระบุตำแหน่งปัญหาได้ เครื่องมือของเรามีข้อความแสดงข้อผิดพลาดที่ชัดเจนเพื่อช่วยคุณในการระบุและแก้ไขปัญหาในข้อมูล JSON ของคุณ
การจัดรูปแบบ JSON มีค่ามากในหลายสถานการณ์:
เมื่อทำงานกับ API แบบ RESTful การจัดรูปแบบ JSON ทำให้การ:
แอปพลิเคชันสมัยใหม่หลายตัวใช้ JSON สำหรับการกำหนดค่า:
การจัดรูปแบบ JSON ช่วยเมื่อ:
การจัดรูปแบบ JSON อย่างถูกต้องมีความสำคัญเมื่อ:
การจัดรูปแบบ JSON ที่ชัดเจนมีค่ามากสำหรับ:
แม้ว่าเครื่องมือจัดรูปแบบ JSON แบบเว็บของเราจะสะดวกสำหรับงานการจัดรูปแบบอย่างรวดเร็ว แต่ก็มีทางเลือกอื่น ๆ สำหรับสถานการณ์ที่แตกต่างกัน:
เบราว์เซอร์สมัยใหม่รวมถึงความสามารถในการจัดรูปแบบ JSON:
สภาพแวดล้อมการพัฒนาส่วนใหญ่มีการจัดรูปแบบ JSON:
สำหรับผู้ใช้เทอร์มินัลหรือการทำงานอัตโนมัติ:
jq
เป็นโปรเซสเซอร์ JSON ที่มีน้ำหนักเบาและยืดหยุ่นjson_pp
มาพร้อมติดตั้งในหลายระบบ Unixpython -m json.tool
ให้การจัดรูปแบบอย่างรวดเร็วโดยใช้ Pythonเมื่อจัดรูปแบบ JSON ภายในแอปพลิเคชัน:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java with Gson
2Gson gson = new GsonBuilder().setPrettyPrinting().create();
3String formatted = gson.toJson(jsonObject);
4
1# Ruby
2require 'json'
3formatted = JSON.pretty_generate(json_object)
4
1// PHP
2$formatted = json_encode($jsonObject, JSON_PRETTY_PRINT);
3
JSON ถูกสร้างขึ้นโดย Douglas Crockford ในช่วงต้นปี 2000 เป็นทางเลือกที่มีน้ำหนักเบากว่า XML รูปแบบนี้ได้ถูกสร้างขึ้นจากไวยากรณ์วัตถุของ JavaScript แต่มีการออกแบบให้เป็นอิสระจากภาษา ในปี 2006 JSON ได้ถูกกำหนดอย่างเป็นทางการใน RFC 4627 และได้รับความนิยมอย่างรวดเร็วเนื่องจากความเรียบง่ายและความเข้ากันได้กับ JavaScript
ก่อนหน้า JSON, XML เป็นรูปแบบที่โดดเด่นสำหรับการแลกเปลี่ยนข้อมูล แต่ความยาวและความซับซ้อนทำให้มันยุ่งยากสำหรับแอปพลิเคชันหลายตัว JSON เสนอไวยากรณ์ที่กระชับมากขึ้นซึ่งอ่านและเขียนได้ง่ายขึ้นทั้งสำหรับมนุษย์และเครื่องจักร นอกจากนี้ยังสอดคล้องกับโมเดลวัตถุของ JavaScript ทำให้เป็นทางเลือกที่เป็นธรรมชาติสำหรับแอปพลิเคชันเว็บ
การนำ JSON ไปใช้เพิ่มขึ้นอย่างรวดเร็วพร้อมกับการเพิ่มขึ้นของ AJAX และ API แบบ RESTful ในช่วงกลางปี 2000 ในปี 2010 JSON ได้กลายเป็นมาตรฐานที่ใช้กันทั่วไปสำหรับ API ของเว็บ, ไฟล์การกำหนดค่า, และการจัดเก็บข้อมูลในฐานข้อมูล NoSQL เช่น MongoDB และ CouchDB
ในปัจจุบัน JSON ได้รับการสนับสนุนจากเกือบทุกภาษาโปรแกรมและถูกใช้ในแอปพลิเคชันนับไม่ถ้วนทั่วทั้งเว็บ ความเรียบง่าย, ความยืดหยุ่น, และการสนับสนุนทั่วไปทำให้มันเป็นหนึ่งในรูปแบบข้อมูลที่สำคัญที่สุดในคอมพิวเตอร์สมัยใหม่
นี่คือตัวอย่างวิธีการจัดรูปแบบ JSON ในภาษาโปรแกรมต่าง ๆ:
1// JavaScript JSON formatting
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Error: ${error.message}`;
8 }
9}
10
11// ตัวอย่างการใช้งาน
12const rawJSON = '{"name":"John","age":30,"city":"New York"}';
13console.log(formatJSON(rawJSON));
14
1# Python JSON formatting
2import json
3
4def format_json(json_string):
5 try:
6 parsed_data = json.loads(json_string)
7 return json.dumps(parsed_data, indent=2)
8 except json.JSONDecodeError as e:
9 return f"Error: {str(e)}"
10
11# ตัวอย่างการใช้งาน
12raw_json = '{"name":"John","age":30,"city":"New York"}'
13print(format_json(raw_json))
14
1// Java JSON formatting with Gson
2import com.google.gson.Gson;
3import com.google.gson.GsonBuilder;
4import com.google.gson.JsonSyntaxException;
5
6public class JSONFormatter {
7 public static String formatJSON(String jsonString) {
8 try {
9 Gson gson = new GsonBuilder().setPrettyPrinting().create();
10 Object parsedJson = gson.fromJson(jsonString, Object.class);
11 return gson.toJson(parsedJson);
12 } catch (JsonSyntaxException e) {
13 return "Error: " + e.getMessage();
14 }
15 }
16
17 public static void main(String[] args) {
18 String rawJSON = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
19 System.out.println(formatJSON(rawJSON));
20 }
21}
22
1// PHP JSON formatting
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Error: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// ตัวอย่างการใช้งาน
11$rawJSON = '{"name":"John","age":30,"city":"New York"}';
12echo formatJSON($rawJSON);
13
1# Ruby JSON formatting
2require 'json'
3
4def format_json(json_string)
5 begin
6 parsed_data = JSON.parse(json_string)
7 return JSON.pretty_generate(parsed_data)
8 rescue JSON::ParserError => e
9 return "Error: #{e.message}"
10 end
11end
12
13# ตัวอย่างการใช้งาน
14raw_json = '{"name":"John","age":30,"city":"New York"}'
15puts format_json(raw_json)
16
1// C# JSON formatting with Newtonsoft.Json
2using Newtonsoft.Json;
3using System;
4
5class JSONFormatter
6{
7 public static string FormatJSON(string jsonString)
8 {
9 try
10 {
11 object parsedJson = JsonConvert.DeserializeObject(jsonString);
12 return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
13 }
14 catch (JsonException e)
15 {
16 return $"Error: {e.Message}";
17 }
18 }
19
20 static void Main()
21 {
22 string rawJSON = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
23 Console.WriteLine(FormatJSON(rawJSON));
24 }
25}
26
1// Go JSON formatting
2package main
3
4import (
5 "encoding/json"
6 "fmt"
7)
8
9func formatJSON(jsonString string) string {
10 var parsedData interface{}
11 err := json.Unmarshal([]byte(jsonString), &parsedData)
12 if err != nil {
13 return fmt.Sprintf("Error: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Error: %s", err.Error())
19 }
20
21 return string(formattedBytes)
22}
23
24func main() {
25 rawJSON := `{"name":"John","age":30,"city":"New York"}`
26 fmt.Println(formatJSON(rawJSON))
27}
28
เมื่อทำงานกับการจัดรูปแบบ JSON โปรดระวังความท้าทายเหล่านี้:
ไฟล์ JSON ที่มีขนาดใหญ่ (หลายเมกะไบต์หรือมากกว่า) อาจทำให้เกิดปัญหาด้านประสิทธิภาพในเครื่องมือจัดรูปแบบที่ใช้เบราว์เซอร์ สำหรับกรณีเช่นนี้:
jq
JSON ที่ซ้อนกันมากเกินไป (มากกว่า 10-20 ระดับ) อาจยากที่จะนำทางแม้จะมีการจัดรูปแบบ ในกรณีเช่นนี้:
JSON รองรับยูนิโค้ด แต่เครื่องมือบางตัวอาจมีปัญหากับตัวอักษรบางตัว:
JSON ไม่ได้กำหนดความแม่นยำสำหรับตัวเลข ซึ่งอาจทำให้เกิดปัญหากับจำนวนเต็มที่มีขนาดใหญ่หรือค่าทศนิยม:
JSON ที่ถูกต้องรวมถึงวัตถุว่าง {}
และอาเรย์ []
ซึ่งควรได้รับการจัดรูปแบบอย่างเหมาะสม:
{}
[]
ค้นพบเครื่องมือเพิ่มเติมที่อาจมีประโยชน์สำหรับการทำงานของคุณ