Tôi có một danh sách, có thể trống hoặc không trống.Buộc json đổ một đối tượng json ngay cả khi danh sách trống rỗng
Tôi muốn tạo tệp mới chứa danh sách đó ở định dạng dễ đọc và dễ đọc cho tập lệnh tiếp theo của tôi để phân tích cú pháp. Trong trường hợp danh sách không trống, điều này làm việc tốt và kịch bản tiếp theo của tôi đọc trong tệp json. Nhưng khi danh sách trống, tôi nhận được "ValueError: Không có đối tượng JSON nào có thể được giải mã." Điều này có ý nghĩa, bởi vì khi tôi mở tệp, thực sự không có nội dung và do đó không có đối tượng JSON.
Tôi đồng ý với thực tế là một số danh sách trống. Vì vậy, hoặc là tôi muốn viết một đối tượng JSON trống hoặc tôi muốn kịch bản trình đọc của tôi được OK khi không tìm thấy một đối tượng JSON.
Dưới đây là các mã có liên quan:
Writer Script
favColor = [] OR favColor = ['blue'] OR favColor = ['blue', 'green']
fileName = 'favoriteColor.json'
outFile = open(fileName, 'w')
json.dump(outFile, favColor)
outFile.close()
đọc Script
fileName = 'favoriteColor.json'
inFile = open(fileName, 'r')
colors = json.load(inFile)
inFile.close()
Bất kỳ sự giúp đỡ hoặc gợi ý nhiều đánh giá cao. Nếu tôi cần cung cấp thêm lý do cho lý do tại sao tôi làm điều này, tôi có thể cung cấp điều đó là tốt, chỉ nghĩ rằng tôi muốn bắt đầu với tối thiểu cần thiết để hiểu được vấn đề.
Đẹp và sạch +1 –
Cảm ơn bạn, được đánh giá cao và giải thích rõ lý do tại sao "có mở() là ..." được ưu tiên. Tôi đã nghe mọi người nói rằng nó được ưa thích trước đây, nhưng không có lý do nó không bao giờ khiến tôi thay đổi. – rcorty