คำถามติดแท็ก jackson

Jackson เป็นไลบรารี Java สำหรับจัดการงานต่างๆเช่นการอ่านและการเขียน (การแยกวิเคราะห์ / สร้าง) และการเชื่อมโยงข้อมูลกับ / จากวัตถุ Java แม้ว่าจะใช้สำหรับ JSON เป็นหลัก แต่ Jackson ยังรองรับรูปแบบข้อมูลอื่น ๆ อีกมากมายเช่น Avro, CBOR, CSV, Java Properties, Protobuf, Smile, XML และ YAML

8
แปลง Map <String, String> เป็น POJO
ฉันดูที่แจ็คสัน แต่ดูเหมือนว่าฉันจะต้องแปลงแผนที่เป็น JSON และจากนั้นผลลัพธ์ JSON เป็น POJO มีวิธีแปลงแผนที่โดยตรงเป็น POJO หรือไม่?
186 json  dictionary  jackson  pojo 

10
วิธีการแปลงสตริง JSON เป็น Map <String, String> ด้วย Jackson JSON
ฉันกำลังพยายามทำสิ่งนี้ แต่ไม่ได้ผล: Map&lt;String, String&gt; propertyMap = new HashMap&lt;String, String&gt;(); propertyMap = JacksonUtils.fromJSON(properties, Map.class); แต่ IDE บอกว่า: งานที่ไม่ได้ตรวจสอบ Map to Map&lt;String,String&gt; วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร? ฉันใช้แจ็กสันเพียงอย่างเดียวเพราะนั่นคือสิ่งที่มีอยู่ในโครงการแล้วมีวิธี Java ดั้งเดิมของการแปลงเป็น / จาก JSON หรือไม่ ใน PHP ฉันจะเพียงแค่json_decode($str)และฉันจะได้รับอาร์เรย์ ฉันต้องการสิ่งเดียวกันที่นี่
184 java  jackson 

9
@JsonProperty มีการใช้คุณสมบัติใดและจะใช้เมื่อใด
ถั่วนี้ 'รัฐ': public class State { private boolean isSet; @JsonProperty("isSet") public boolean isSet() { return isSet; } @JsonProperty("isSet") public void setSet(boolean isSet) { this.isSet = isSet; } } ถูกส่งผ่านสายโดยใช้การโทรกลับ 'ajax' สำเร็จ ': success : function(response) { if(response.State.isSet){ alert('success called successfully) } จำเป็นต้องใช้คำอธิบายประกอบ @JsonProperty ที่นี่หรือไม่ ประโยชน์ของการใช้มันคืออะไร? ฉันคิดว่าฉันสามารถลบคำอธิบายประกอบนี้ได้โดยไม่ทำให้เกิดผลข้างเคียงใด ๆ อ่านเกี่ยวกับ annotion นี้ได้ที่https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotationsฉันไม่ทราบว่าจะต้องใช้เมื่อใด
183 java  ajax  jackson 

4
วิธีเปลี่ยนชื่อฟิลด์ใน JSON โดยใช้ Jackson
ฉันใช้แจ็คสันในการแปลงวัตถุของฉันเป็นเจสัน วัตถุมี 2 ฟิลด์: @Entity public class City { @id Long id; String name; public String getName() { return name; } public void setName(String name){ this.name = name; } public Long getId() { return id; } public void setName(Long id){ this.id = id; } } เนื่องจากฉันต้องการใช้คุณลักษณะนี้กับ jQuery auto complete ฉันต้องการให้ …

9
การแปลงอ็อบเจ็กต์ Java เป็น JSON ด้วย Jackson
ฉันต้องการให้ JSON ของฉันมีลักษณะเช่นนี้: { "information": [{ "timestamp": "xxxx", "feature": "xxxx", "ean": 1234, "data": "xxxx" }, { "timestamp": "yyy", "feature": "yyy", "ean": 12345, "data": "yyy" }] } รหัสจนถึง: import java.util.List; public class ValueData { private List&lt;ValueItems&gt; information; public ValueData(){ } public List&lt;ValueItems&gt; getInformation() { return information; } public void setInformation(List&lt;ValueItems&gt; information) …
166 java  json  object  jackson 

8
แปลงสตริง JSON ให้เป็นเอาต์พุตพริ้นท์ JSON โดยใช้แจ็คสัน
นี่คือสตริง JSON ที่ฉันมี: {"attributes":[{"nm":"ACCOUNT","lv":[{"v":{"Id":null,"State":null},"vt":"java.util.Map","cn":1}],"vt":"java.util.Map","status":"SUCCESS","lmd":13585},{"nm":"PROFILE","lv":[{"v":{"Party":null,"Ads":null},"vt":"java.util.Map","cn":2}],"vt":"java.util.Map","status":"SUCCESS","lmd":41962}]} ฉันต้องการแปลง JSON ข้างต้นStringเป็น Pretty Print JSON Output (โดยใช้แจ็คสัน) เช่นด้านล่าง: { "attributes": [ { "nm": "ACCOUNT", "lv": [ { "v": { "Id": null, "State": null }, "vt": "java.util.Map", "cn": 1 } ], "vt": "java.util.Map", "status": "SUCCESS", "lmd": 13585 }, { "nm": "PROFILE "lv": [ { "v": { …

9
แจ็กสัน: วิธีการป้องกันการทำให้เป็นอันดับสนาม
ฉันมีคลาสเอนทิตีที่มีฟิลด์รหัสผ่าน: class User { private String password; //setter, getter.. } ฉันต้องการให้ฟิลด์นี้ข้ามระหว่างการทำให้เป็นอนุกรม แต่ควรจะสามารถยกเลิกการตั้งค่า นี่เป็นสิ่งจำเป็นเพื่อให้ลูกค้าสามารถส่งรหัสผ่านใหม่ให้ฉันได้ แต่ไม่สามารถอ่านรหัสปัจจุบันได้ ฉันจะทำสิ่งนี้ให้สำเร็จด้วยแจ็คสันได้อย่างไร
163 java  json  jackson 

7
แจ็คสันเอาชนะขีดล่างในกรณีอูฐ
ฉันดึงสตริง JSON จากอินเทอร์เน็ต เช่นเดียวกับ JSON ส่วนใหญ่ที่ฉันเคยเห็นมันมีปุ่มยาวที่คั่นด้วยเครื่องหมายขีดล่าง โดยพื้นฐานแล้วเป้าหมายของฉันคือการแยกแยะ JSON ให้เป็นจาวา - ออบเจ็กต์ แต่ฉันไม่ได้ใช้ขีดล่างในจาวา - โค้ด ตัวอย่างเช่นฉันอาจมีUserคลาสที่มีfirstNameฟิลด์เป็นตัวอูฐในเวลาเดียวกันฉันต้องบอกแจ็คสันให้จับคู่first_nameคีย์จาก JSON กับfirstNameฟิลด์คลาส เป็นไปได้ไหม? class User{ protected String firstName; protected String getFirstName(){return firstName;} }
160 java  jackson 

9
รูปแบบวันที่แมปกับ JSON Jackson
ฉันมีรูปแบบวันที่ที่มาจาก API เช่นนี้: "start_time": "2015-10-1 3:00 PM GMT+1:00" ซึ่งเป็น YYYY-DD-MM HH: MM am / pm GMT timestamp ฉันกำลังจับคู่ค่านี้กับตัวแปร Date ใน POJO เห็นได้ชัดว่ามันแสดงข้อผิดพลาดในการแปลง ฉันอยากรู้ 2 สิ่ง: การจัดรูปแบบที่ฉันต้องใช้เพื่อดำเนินการแปลงกับ Jackson คืออะไร วันที่เป็นฟิลด์ชนิดที่ดีสำหรับสิ่งนี้หรือไม่ โดยทั่วไปมีวิธีการประมวลผลตัวแปรก่อนที่พวกเขาได้รับการแมปกับสมาชิกวัตถุโดยแจ็กสัน? การเปลี่ยนรูปแบบการคำนวณ ฯลฯ
154 java  json  date  jackson  pojo 

14
รูปแบบ Java 8 LocalDate Jackson
สำหรับjava.util.Dateเมื่อฉันทำ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy") private Date dateOfBirth; จากนั้นในคำขอ JSON เมื่อฉันส่ง { {"dateOfBirth":"01/01/2000"} } มันได้ผล. ฉันจะทำสิ่งนี้สำหรับฟิลด์LocalDate ของ Java 8 ได้อย่างไร ? ฉันพยายามมี @JsonDeserialize(using = LocalDateDeserializer.class) @JsonSerialize(using = LocalDateSerializer.class) private LocalDate dateOfBirth; มันไม่ได้ผล ใครช่วยบอกฉันหน่อยได้ไหมว่าวิธีที่ถูกต้องคืออะไร .. ด้านล่างนี้คือการอ้างอิง &lt;dependency&gt; &lt;groupId&gt;org.jboss.resteasy&lt;/groupId&gt; &lt;artifactId&gt;jaxrs-api&lt;/artifactId&gt; &lt;version&gt;3.0.9.Final&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.fasterxml.jackson.jaxrs&lt;/groupId&gt; &lt;artifactId&gt;jackson-jaxrs-json-provider&lt;/artifactId&gt; &lt;version&gt;2.4.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.wordnik&lt;/groupId&gt; &lt;artifactId&gt;swagger-annotations&lt;/artifactId&gt; …
152 java  json  jackson  jax-rs  resteasy 

10
ชื่อต่าง ๆ ของคุณสมบัติ JSON ระหว่างการทำให้เป็นอนุกรมและการดีซีเรียลไลเซชัน
เป็นไปได้หรือไม่: มีหนึ่งฟิลด์ในชั้นเรียน แต่มีชื่อแตกต่างกันระหว่างการทำให้เป็นอันดับ / การดีซีเรียลไลซ์เซชันในไลบรารีของ Jackson ตัวอย่างเช่นฉันมีคลาส "Coordiantes" class Coordinates{ int red; } สำหรับการดีซีเรียลไลซ์เซชั่นจาก JSON ต้องการมีรูปแบบดังนี้: { "red":12 } แต่เมื่อฉันจะทำให้เป็นอันดับวัตถุผลลัพธ์ควรเป็นเช่นนี้: { "r":12 } ฉันพยายามใช้สิ่งนี้โดยใช้@JsonPropertyคำอธิบายประกอบทั้งใน getter และ setter (มีค่าต่างกัน): class Coordiantes{ int red; @JsonProperty("r") public byte getRed() { return red; } @JsonProperty("red") public void setRed(byte red) { this.red = red; } …
149 java  json  jackson 

12
Jackson - Deserialize โดยใช้คลาสทั่วไป
ฉันมีสตริง json ซึ่งฉันควร deSerialize ในชั้นเรียนต่อไปนี้ class Data &lt;T&gt; { int found; Class&lt;T&gt; hits } ฉันต้องทำอย่างไร? นี่เป็นวิธีปกติ mapper.readValue(jsonString, Data.class); แต่ฉันจะพูดถึงสิ่งที่ T หมายถึงได้อย่างไร
147 java  json  generics  jackson 

4
แปลง JsonNode เป็น POJO
นี้อาจดูเหมือนผิดปกติเล็ก ๆ น้อย ๆ แต่ฉันกำลังมองหาวิธีที่มีประสิทธิภาพในการแปลง / แมปเป็นJsonNodePOJO ฉันเก็บข้อมูลโมเดลของฉันไว้ในไฟล์ json และฉันต้องสนับสนุนโมเดลของฉันสองสามรุ่น สิ่งที่ฉันทำคือโหลดไฟล์ json ในหน่วยความจำใน JsonNode ใช้กลยุทธ์การกำหนดรุ่นสองสามอย่างเพื่อให้ตรงกับรุ่นล่าสุดของรุ่นของฉัน ObjectMapper mapper = new ObjectMapper(); BufferedReader fileReader = new BufferedReader(new FileReader(projPath)); JsonNode rootNode = mapper.readTree(fileReader); //Upgrade our file in memory applyVersioningStrategy(rootNode); ProjectModel project = mapJsonNodeToProject(rootNode); หากไม่มีวิธีที่เร็วกว่าในการทำเช่นนั้นฉันอาจจะลงเอยด้วยตนเองเพียงแค่นำJsonNodesโมเดลของฉันไปใช้ด้วยตนเอง
143 java  json  jackson 

8
พิมพ์ JSON จาก ObjectMapper ของ Jackson 2.2
ตอนนี้ฉันมีตัวอย่างorg.fasterxml.jackson.databind.ObjectMapperและต้องการได้รับStringกับ JSON สวย ผลลัพธ์ทั้งหมดของการค้นหา Google ของฉันเกิดขึ้นกับ Jackson 1.x วิธีการทำเช่นนี้และฉันไม่สามารถหาวิธีที่เหมาะสมและไม่เลิกใช้ในการทำเช่นนี้กับ 2.2 แม้ว่าฉันจะไม่เชื่อว่ารหัสเป็นสิ่งจำเป็นอย่างยิ่งสำหรับคำถามนี้นี่คือสิ่งที่ฉันมีตอนนี้: ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(Include.NON_NULL); System.out.println("\n\n----------REQUEST-----------"); StringWriter sw = new StringWriter(); mapper.writeValue(sw, jsonObject); // Want pretty version of sw.toString() here
141 java  json  jackson 

8
ลำดับการแจ็กสัน: ละเว้นค่าว่าง (หรือ null)
ขณะนี้ฉันกำลังใช้แจ็คสัน 2.1.4 และฉันมีปัญหาในการข้ามฟิลด์เมื่อฉันแปลงวัตถุเป็นสตริง JSON นี่คือคลาสของฉันซึ่งทำหน้าที่เป็นวัตถุที่จะถูกแปลง: public class JsonOperation { public static class Request { @JsonInclude(Include.NON_EMPTY) String requestType; Data data = new Data(); public static class Data { @JsonInclude(Include.NON_EMPTY) String username; String email; String password; String birthday; String coinsPackage; String coins; String transactionId; boolean isLoggedIn; } } public static class Response …
138 java  json  jackson 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.