Chuyển đổi Java .properties sang JSON
Chuyển tệp .properties Java sang JSON theo quy tắc Properties.load: chú thích, dấu phân cách = : và dấu cách, nối dòng, thoát \uXXXX, lồng khóa. Miễn phí.
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Công cụ Liên quan
Xem Tất cảProperties sang JSON là gì?
Dán một tệp .properties của Java – ví dụ application.properties của Spring Boot hoặc message bundle – để nhận JSON. Khóa có thể giữ phẳng ("app.name") hoặc được lồng thành đối tượng theo dấu chấm.
Cách sử dụng Properties sang JSON
- Dán nội dung .properties vào ô Dữ liệu .properties đầu vào, hoặc dùng Tải ví dụ hay Mở tệp.
- Bật/tắt Lồng khóa có dấu chấm thành đối tượng và chọn mức Thụt lề cho JSON.
- Kết quả JSON cập nhật ngay khi bạn gõ; dùng Sao chép hoặc Tải xuống.
Ví dụ
app.name = My App app.port: 8080
{
"app.name": "My App",
"app.port": "8080"
} Khi nào nên dùng Properties sang JSON
Dùng để xem, di chuyển hoặc so sánh cấu hình Java và gói i18n. Công cụ không phân giải placeholder của Spring như ${server.port} hay các tệp theo profile.
Properties sang JSON hoạt động như thế nào
Trình phân tích tuân theo java.util.Properties.load: dòng bắt đầu bằng # hoặc ! là chú thích, dòng kết thúc bằng số lẻ dấu gạch chéo ngược được nối với dòng tiếp theo (khoảng trắng đầu dòng bị bỏ), và khóa kết thúc tại ký tự =, : hoặc khoảng trắng đầu tiên không bị thoát. Các chuỗi thoát \t, \n, \r, \f và \uXXXX được giải mã; mọi ký tự bị thoát khác đại diện cho chính nó. Khóa trùng xuất hiện sau sẽ thắng. Khi lồng khóa, khóa nào sẽ xung đột với giá trị đã có (ví dụ a=1 và a.b=2) được giữ phẳng để không mất dữ liệu. Mọi giá trị đều là chuỗi, giống như trong Java.
Các Trường Hợp Sử Dụng Phổ Biến
- Chuyển application.properties sang JSON hoặc cấu trúc sẵn sàng cho YAML
- Biến message bundle Java thành JSON cho thư viện i18n JavaScript
- So sánh hai tệp properties dưới dạng JSON
- Giải mã các chuỗi thoát \u trong bundle ISO-8859-1 cũ
Câu Hỏi Thường Gặp
Số có được chuyển đổi không?
Không. Properties của Java luôn là chuỗi, nên giá trị vẫn là chuỗi như "8080".
Việc nối dòng được xử lý thế nào?
Dấu gạch chéo ngược ở cuối dòng nối dòng tiếp theo vào, và các dấu cách đầu dòng đó bị loại bỏ, đúng như Java xử lý.
Điều gì xảy ra khi lồng khóa bị xung đột?
Nếu có cả a và a.b, a.b được giữ là khóa phẳng thay vì ghi đè lên a.