Tôi thực sự đang phải vật lộn với mức độ phức tạp mà tôi cảm thấy trong việc giải quyết vấn đề này. Như tiêu đề cho biết: Cách đơn giản để tạo một chiếc Jackson ObjectMapper
với 4-space PrettyPrinter
là gì?Cách đơn giản nhất để cấu hình khoảng cách thụt lề trên một đối tượng Jackson là gì?
Điểm thưởng: Làm thế nào tôi có thể sửa đổiObjectMapper
hiện có để làm cho nó in đẹp 4 không gian?
Qua nghiên cứu của tôi, tôi đã tìm thấy rằng cách đơn giản nhất là để cho phép in ấn khá thường là để thiết lập INDENT_OUTPUT
trên mapper:
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
Tuy nhiên, điều này chỉ cho phép các DefaultPrettyPrinter
, trong đó có 2 không gian thụt đầu dòng. Tôi muốn 4. Để làm điều này, có vẻ như tôi phải xây dựng ObjectMapper
của riêng mình, cung cấp JsonFactory
với một JsonGenerator
có một không gian PrettyPrinter
có 4 dấu cách. Đây là cách quá mãnh liệt đối với một thứ gì đó quá đơn giản trên các nền tảng khác. Hãy cho tôi biết có một cách đơn giản hơn.
Đây là vấn đề mát mẻ. Chỉ cần tò mò, là hành vi này mong muốn cho lý do hoàn toàn mỹ phẩm hoặc là có thực sự là một hạn chế ở đâu đó đó là đòi hỏi bạn phải sử dụng 4 thụt lề không gian? –
Tôi đã thử đặt một cái gì đó _real_ khó chịu cùng với sự phản ánh và quyết định nó có lẽ thậm chí không hài hước. Tôi nghĩ ý tưởng đằng sau sự bối rối là: nó cũng không kém phần quan trọng bất kể cấu hình của bạn phức tạp như thế nào. Bạn có thể sẽ cần phải làm theo các phương pháp Jackson quy định để áp dụng này trên toàn cầu trên người lập bản đồ hiện tại của bạn (sadpanda) –
Hi Sam. Cảm ơn bạn đã suy nghĩ về điều này. Tôi đoán ràng buộc sử dụng-case cho tôi là mỹ phẩm đáp ứng thực tế đáp ứng què: Tôi đã cố gắng để đăng nhập các nội dung của một đồ thị bằng cách sử dụng mô-đun GraphSON được cung cấp trong Tinkerpop3. Gỡ lỗi đăng nhập JSON là hữu ích nhất đối với tôi khi có rất nhiều thụt đầu dòng. Đây là câu hỏi gốc: http://stackoverflow.com/questions/28255878/can-i-customize-a-jackson-objectmapper-by-adding-a-module –