forked from json-iterator/java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestJackson.java
More file actions
71 lines (59 loc) · 2.4 KB
/
TestJackson.java
File metadata and controls
71 lines (59 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.jsoniter.output;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.jsoniter.extra.JacksonCompatibilityMode;
import junit.framework.TestCase;
import java.util.HashMap;
import java.util.Map;
public class TestJackson extends TestCase {
static {
// JsonStream.setMode(EncodingMode.DYNAMIC_MODE);
}
private ObjectMapper objectMapper;
public void setUp() {
objectMapper = new ObjectMapper();
}
public static class TestObject1 {
@JsonAnyGetter
public Map<Integer, Object> getProperties() {
HashMap<Integer, Object> properties = new HashMap<Integer, Object>();
properties.put(100, "hello");
return properties;
}
}
public void test_JsonAnyGetter() throws JsonProcessingException {
String output = objectMapper.writeValueAsString(new TestObject1());
assertEquals("{\"100\":\"hello\"}", output);
output = JsonStream.serialize(new JacksonCompatibilityMode.Builder().build(), new TestObject1());
assertEquals("{\"100\":\"hello\"}", output);
}
public static class TestObject2 {
@JsonProperty("field-1")
public String field1;
}
public void test_JsonProperty() throws JsonProcessingException {
TestObject2 obj = new TestObject2();
obj.field1 = "hello";
String output = objectMapper.writeValueAsString(obj);
assertEquals("{\"field-1\":\"hello\"}", output);
output = JsonStream.serialize(new JacksonCompatibilityMode.Builder().build(), obj);
assertEquals("{\"field-1\":\"hello\"}", output);
}
public static class TestObject3 {
@JsonIgnore
public String field1;
}
public void test_JsonIgnore() throws JsonProcessingException {
objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
TestObject3 obj = new TestObject3();
obj.field1 = "hello";
String output = objectMapper.writeValueAsString(obj);
assertEquals("{}", output);
output = JsonStream.serialize(new JacksonCompatibilityMode.Builder().build(), obj);
assertEquals("{}", output);
}
}