1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!-- NewPage -->
3<html lang="en">
4<head>
5<!-- Generated by javadoc (1.8.0_162) on Tue Mar 24 11:44:41 PDT 2020 -->
6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7<title>com.fasterxml.jackson.databind (jackson-databind 2.11.0.rc1 API)</title>
8<meta name="date" content="2020-03-24">
9<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
10<script type="text/javascript" src="../../../../script.js"></script>
11</head>
12<body>
13<script type="text/javascript"><!--
14    try {
15        if (location.href.indexOf('is-external=true') == -1) {
16            parent.document.title="com.fasterxml.jackson.databind (jackson-databind 2.11.0.rc1 API)";
17        }
18    }
19    catch(err) {
20    }
21//-->
22</script>
23<noscript>
24<div>JavaScript is disabled on your browser.</div>
25</noscript>
26<!-- ========= START OF TOP NAVBAR ======= -->
27<div class="topNav"><a name="navbar.top">
28<!--   -->
29</a>
30<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
31<a name="navbar.top.firstrow">
32<!--   -->
33</a>
34<ul class="navList" title="Navigation">
35<li><a href="../../../../overview-summary.html">Overview</a></li>
36<li class="navBarCell1Rev">Package</li>
37<li>Class</li>
38<li><a href="package-use.html">Use</a></li>
39<li><a href="package-tree.html">Tree</a></li>
40<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
41<li><a href="../../../../index-all.html">Index</a></li>
42<li><a href="../../../../help-doc.html">Help</a></li>
43</ul>
44</div>
45<div class="subNav">
46<ul class="navList">
47<li>Prev&nbsp;Package</li>
48<li><a href="../../../../com/fasterxml/jackson/databind/annotation/package-summary.html">Next&nbsp;Package</a></li>
49</ul>
50<ul class="navList">
51<li><a href="../../../../index.html?com/fasterxml/jackson/databind/package-summary.html" target="_top">Frames</a></li>
52<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
53</ul>
54<ul class="navList" id="allclasses_navbar_top">
55<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
56</ul>
57<div>
58<script type="text/javascript"><!--
59  allClassesLink = document.getElementById("allclasses_navbar_top");
60  if(window==top) {
61    allClassesLink.style.display = "block";
62  }
63  else {
64    allClassesLink.style.display = "none";
65  }
66  //-->
67</script>
68</div>
69<a name="skip.navbar.top">
70<!--   -->
71</a></div>
72<!-- ========= END OF TOP NAVBAR ========= -->
73<div class="header">
74<h1 title="Package" class="title">Package&nbsp;com.fasterxml.jackson.databind</h1>
75<div class="docSummary">
76<div class="block">Basic data binding (mapping) functionality that
77allows for reading JSON content into Java Objects (POJOs)
78and JSON Trees (<a href="../../../../com/fasterxml/jackson/databind/JsonNode.html" title="class in com.fasterxml.jackson.databind"><code>JsonNode</code></a>), as well as
79writing Java Objects and trees as JSON.</div>
80</div>
81<p>See:&nbsp;<a href="#package.description">Description</a></p>
82</div>
83<div class="contentContainer">
84<ul class="blockList">
85<li class="blockList">
86<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
87<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
88<tr>
89<th class="colFirst" scope="col">Interface</th>
90<th class="colLast" scope="col">Description</th>
91</tr>
92<tbody>
93<tr class="altColor">
94<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/BeanProperty.html" title="interface in com.fasterxml.jackson.databind">BeanProperty</a></td>
95<td class="colLast">
96<div class="block">Bean properties are logical entities that represent data
97 that Java objects (POJOs (Plain Old Java Objects), sometimes also called "beans")
98 contain; and that are accessed using accessors (methods like getters
99 and setters, fields, constructor parameters).</div>
100</td>
101</tr>
102<tr class="rowColor">
103<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonSerializable.html" title="interface in com.fasterxml.jackson.databind">JsonSerializable</a></td>
104<td class="colLast">
105<div class="block">Interface that can be implemented by objects that know how to
106 serialize themselves to JSON, using <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonGenerator.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonGenerator</code></a>
107 (and <a href="../../../../com/fasterxml/jackson/databind/SerializerProvider.html" title="class in com.fasterxml.jackson.databind"><code>SerializerProvider</code></a> if necessary).</div>
108</td>
109</tr>
110<tr class="altColor">
111<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/Module.SetupContext.html" title="interface in com.fasterxml.jackson.databind">Module.SetupContext</a></td>
112<td class="colLast">
113<div class="block">Interface Jackson exposes to modules for purpose of registering
114 extended functionality.</div>
115</td>
116</tr>
117</tbody>
118</table>
119</li>
120<li class="blockList">
121<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
122<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
123<tr>
124<th class="colFirst" scope="col">Class</th>
125<th class="colLast" scope="col">Description</th>
126</tr>
127<tbody>
128<tr class="altColor">
129<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/AbstractTypeResolver.html" title="class in com.fasterxml.jackson.databind">AbstractTypeResolver</a></td>
130<td class="colLast">
131<div class="block">Defines interface for resolvers that can resolve abstract types into concrete
132 ones; either by using static mappings, or possibly by materializing
133 implementations dynamically.</div>
134</td>
135</tr>
136<tr class="rowColor">
137<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/AnnotationIntrospector.html" title="class in com.fasterxml.jackson.databind">AnnotationIntrospector</a></td>
138<td class="colLast">
139<div class="block">Abstract class that defines API used for introspecting annotation-based
140 configuration for serialization and deserialization.</div>
141</td>
142</tr>
143<tr class="altColor">
144<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/AnnotationIntrospector.ReferenceProperty.html" title="class in com.fasterxml.jackson.databind">AnnotationIntrospector.ReferenceProperty</a></td>
145<td class="colLast">
146<div class="block">Value type used with managed and back references; contains type and
147 logic name, used to link related references</div>
148</td>
149</tr>
150<tr class="rowColor">
151<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/BeanDescription.html" title="class in com.fasterxml.jackson.databind">BeanDescription</a></td>
152<td class="colLast">
153<div class="block">Basic container for information gathered by <a href="../../../../com/fasterxml/jackson/databind/introspect/ClassIntrospector.html" title="class in com.fasterxml.jackson.databind.introspect"><code>ClassIntrospector</code></a> to
154 help in constructing serializers and deserializers.</div>
155</td>
156</tr>
157<tr class="altColor">
158<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/BeanProperty.Bogus.html" title="class in com.fasterxml.jackson.databind">BeanProperty.Bogus</a></td>
159<td class="colLast">
160<div class="block">Alternative "Null" implementation that can be used in cases where a non-null
161 <a href="../../../../com/fasterxml/jackson/databind/BeanProperty.html" title="interface in com.fasterxml.jackson.databind"><code>BeanProperty</code></a> is needed</div>
162</td>
163</tr>
164<tr class="rowColor">
165<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/BeanProperty.Std.html" title="class in com.fasterxml.jackson.databind">BeanProperty.Std</a></td>
166<td class="colLast">
167<div class="block">Simple stand-alone implementation, useful as a placeholder
168 or base class for more complex implementations.</div>
169</td>
170</tr>
171<tr class="altColor">
172<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/DatabindContext.html" title="class in com.fasterxml.jackson.databind">DatabindContext</a></td>
173<td class="colLast">
174<div class="block">Shared base class for <a href="../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind"><code>DeserializationContext</code></a> and
175 <a href="../../../../com/fasterxml/jackson/databind/SerializerProvider.html" title="class in com.fasterxml.jackson.databind"><code>SerializerProvider</code></a>, context objects passed through data-binding
176 process.</div>
177</td>
178</tr>
179<tr class="rowColor">
180<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/DeserializationConfig.html" title="class in com.fasterxml.jackson.databind">DeserializationConfig</a></td>
181<td class="colLast">
182<div class="block">Object that contains baseline configuration for deserialization
183 process.</div>
184</td>
185</tr>
186<tr class="altColor">
187<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</a></td>
188<td class="colLast">
189<div class="block">Context for the process of deserialization a single root-level value.</div>
190</td>
191</tr>
192<tr class="rowColor">
193<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/InjectableValues.html" title="class in com.fasterxml.jackson.databind">InjectableValues</a></td>
194<td class="colLast">
195<div class="block">Abstract class that defines API for objects that provide value to
196 "inject" during deserialization.</div>
197</td>
198</tr>
199<tr class="altColor">
200<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/InjectableValues.Std.html" title="class in com.fasterxml.jackson.databind">InjectableValues.Std</a></td>
201<td class="colLast">
202<div class="block">Simple standard implementation which uses a simple Map to
203 store values to inject, identified by simple String keys.</div>
204</td>
205</tr>
206<tr class="rowColor">
207<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</a></td>
208<td class="colLast">
209<div class="block">Base class for type token classes used both to contain information
210 and as keys for deserializers.</div>
211</td>
212</tr>
213<tr class="altColor">
214<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</a>&lt;T&gt;</td>
215<td class="colLast">
216<div class="block">Abstract class that defines API used by <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a> (and
217 other chained <a href="../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind"><code>JsonDeserializer</code></a>s too) to deserialize Objects of
218 arbitrary types from JSON, using provided <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonParser.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonParser</code></a>.</div>
219</td>
220</tr>
221<tr class="rowColor">
222<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonDeserializer.None.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer.None</a></td>
223<td class="colLast">
224<div class="block">This marker class is only to be used with annotations, to
225 indicate that <b>no deserializer is configured</b>.</div>
226</td>
227</tr>
228<tr class="altColor">
229<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonMappingException.Reference.html" title="class in com.fasterxml.jackson.databind">JsonMappingException.Reference</a></td>
230<td class="colLast">
231<div class="block">Simple bean class used to contain references.</div>
232</td>
233</tr>
234<tr class="rowColor">
235<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonNode.html" title="class in com.fasterxml.jackson.databind">JsonNode</a></td>
236<td class="colLast">
237<div class="block">Base class for all JSON nodes, which form the basis of JSON
238 Tree Model that Jackson implements.</div>
239</td>
240</tr>
241<tr class="altColor">
242<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonSerializable.Base.html" title="class in com.fasterxml.jackson.databind">JsonSerializable.Base</a></td>
243<td class="colLast">
244<div class="block">Base class with minimal implementation, as well as couple of extension methods
245 that core Jackson databinding makes use of.</div>
246</td>
247</tr>
248<tr class="rowColor">
249<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonSerializer.html" title="class in com.fasterxml.jackson.databind">JsonSerializer</a>&lt;T&gt;</td>
250<td class="colLast">
251<div class="block">Abstract class that defines API used by <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a> (and
252 other chained <a href="../../../../com/fasterxml/jackson/databind/JsonSerializer.html" title="class in com.fasterxml.jackson.databind"><code>JsonSerializer</code></a>s too) to serialize Objects of
253 arbitrary types into JSON, using provided <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonGenerator.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonGenerator</code></a>.</div>
254</td>
255</tr>
256<tr class="altColor">
257<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonSerializer.None.html" title="class in com.fasterxml.jackson.databind">JsonSerializer.None</a></td>
258<td class="colLast">
259<div class="block">This marker class is only to be used with annotations, to
260 indicate that <b>no serializer is configured</b>.</div>
261</td>
262</tr>
263<tr class="rowColor">
264<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/KeyDeserializer.html" title="class in com.fasterxml.jackson.databind">KeyDeserializer</a></td>
265<td class="colLast">
266<div class="block">Abstract class that defines API used for deserializing JSON content
267 field names into Java Map keys.</div>
268</td>
269</tr>
270<tr class="altColor">
271<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/KeyDeserializer.None.html" title="class in com.fasterxml.jackson.databind">KeyDeserializer.None</a></td>
272<td class="colLast">
273<div class="block">This marker class is only to be used with annotations, to
274 indicate that <b>no deserializer is configured</b>.</div>
275</td>
276</tr>
277<tr class="rowColor">
278<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/MappingIterator.html" title="class in com.fasterxml.jackson.databind">MappingIterator</a>&lt;T&gt;</td>
279<td class="colLast">
280<div class="block">Iterator exposed by <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a> when binding sequence of
281 objects.</div>
282</td>
283</tr>
284<tr class="altColor">
285<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/MappingJsonFactory.html" title="class in com.fasterxml.jackson.databind">MappingJsonFactory</a></td>
286<td class="colLast">
287<div class="block">Sub-class of <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonFactory.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonFactory</code></a> that will create a proper
288 <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/ObjectCodec.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>ObjectCodec</code></a> to allow seam-less conversions between
289 JSON content and Java objects (POJOs).</div>
290</td>
291</tr>
292<tr class="rowColor">
293<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/Module.html" title="class in com.fasterxml.jackson.databind">Module</a></td>
294<td class="colLast">
295<div class="block">Simple interface for extensions that can be registered with <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a>
296 to provide a well-defined set of extensions to default functionality; such as
297 support for new data types.</div>
298</td>
299</tr>
300<tr class="altColor">
301<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind">ObjectMapper</a></td>
302<td class="colLast">
303<div class="block">ObjectMapper provides functionality for reading and writing JSON,
304 either to and from basic POJOs (Plain Old Java Objects), or to and from
305 a general-purpose JSON Tree Model (<a href="../../../../com/fasterxml/jackson/databind/JsonNode.html" title="class in com.fasterxml.jackson.databind"><code>JsonNode</code></a>), as well as
306 related functionality for performing conversions.</div>
307</td>
308</tr>
309<tr class="rowColor">
310<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.DefaultTypeResolverBuilder.html" title="class in com.fasterxml.jackson.databind">ObjectMapper.DefaultTypeResolverBuilder</a></td>
311<td class="colLast">
312<div class="block">Customized <a href="../../../../com/fasterxml/jackson/databind/jsontype/TypeResolverBuilder.html" title="interface in com.fasterxml.jackson.databind.jsontype"><code>TypeResolverBuilder</code></a> that provides type resolver builders
313 used with so-called "default typing"
314 (see <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html#activateDefaultTyping-com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator-"><code>ObjectMapper.activateDefaultTyping(PolymorphicTypeValidator)</code></a> for details).</div>
315</td>
316</tr>
317<tr class="altColor">
318<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectReader.html" title="class in com.fasterxml.jackson.databind">ObjectReader</a></td>
319<td class="colLast">
320<div class="block">Builder object that can be used for per-serialization configuration of
321 deserialization parameters, such as root type to use or object
322 to update (instead of constructing new instance).</div>
323</td>
324</tr>
325<tr class="rowColor">
326<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.html" title="class in com.fasterxml.jackson.databind">ObjectWriter</a></td>
327<td class="colLast">
328<div class="block">Builder object that can be used for per-serialization configuration of
329 serialization parameters, such as JSON View and root type to use.</div>
330</td>
331</tr>
332<tr class="altColor">
333<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.GeneratorSettings.html" title="class in com.fasterxml.jackson.databind">ObjectWriter.GeneratorSettings</a></td>
334<td class="colLast">
335<div class="block">Helper class used for containing settings specifically related
336 to (re)configuring <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonGenerator.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonGenerator</code></a> constructed for
337 writing output.</div>
338</td>
339</tr>
340<tr class="rowColor">
341<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.Prefetch.html" title="class in com.fasterxml.jackson.databind">ObjectWriter.Prefetch</a></td>
342<td class="colLast">
343<div class="block">As a minor optimization, we will make an effort to pre-fetch a serializer,
344 or at least relevant <code>TypeSerializer</code>, if given enough
345 information.</div>
346</td>
347</tr>
348<tr class="altColor">
349<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyMetadata.html" title="class in com.fasterxml.jackson.databind">PropertyMetadata</a></td>
350<td class="colLast">
351<div class="block">Simple container class used for storing "additional" metadata about
352 properties.</div>
353</td>
354</tr>
355<tr class="rowColor">
356<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyMetadata.MergeInfo.html" title="class in com.fasterxml.jackson.databind">PropertyMetadata.MergeInfo</a></td>
357<td class="colLast">
358<div class="block">Helper class used for containing information about expected merge
359 information for this property, if merging is expected.</div>
360</td>
361</tr>
362<tr class="altColor">
363<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyName.html" title="class in com.fasterxml.jackson.databind">PropertyName</a></td>
364<td class="colLast">
365<div class="block">Simple value class used for containing names of properties as defined
366 by annotations (and possibly other configuration sources).</div>
367</td>
368</tr>
369<tr class="rowColor">
370<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy</a></td>
371<td class="colLast">
372<div class="block">Class that defines how names of JSON properties ("external names")
373 are derived from names of POJO methods and fields ("internal names"),
374 in cases where they are not
375 auto-detected and no explicit annotations exist for naming.</div>
376</td>
377</tr>
378<tr class="altColor">
379<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.KebabCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.KebabCaseStrategy</a></td>
380<td class="colLast">
381<div class="block">Naming strategy similar to <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy.SnakeCaseStrategy</code></a>, but instead of underscores
382 as separators, uses hyphens.</div>
383</td>
384</tr>
385<tr class="rowColor">
386<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.LowerCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.LowerCaseStrategy</a></td>
387<td class="colLast">
388<div class="block">Simple strategy where external name simply only uses lower-case characters,
389 and no separators.</div>
390</td>
391</tr>
392<tr class="altColor">
393<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy</a></td>
394<td class="colLast">Deprecated
395<div class="block"><span class="deprecationComment">In 2.7 use <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy.SnakeCaseStrategy</code></a> instead</span></div>
396</td>
397</tr>
398<tr class="rowColor">
399<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.LowerDotCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.LowerDotCaseStrategy</a></td>
400<td class="colLast">
401<div class="block">Naming strategy similar to <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.KebabCaseStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy.KebabCaseStrategy</code></a>, but instead of hyphens
402 as separators, uses dots.</div>
403</td>
404</tr>
405<tr class="altColor">
406<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PascalCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PascalCaseStrategy</a></td>
407<td class="colLast">Deprecated
408<div class="block"><span class="deprecationComment">In 2.7 use <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.UpperCamelCaseStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy.UpperCamelCaseStrategy</code></a> instead</span></div>
409</td>
410</tr>
411<tr class="rowColor">
412<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PropertyNamingStrategyBase</a></td>
413<td class="colLast">&nbsp;</td>
414</tr>
415<tr class="altColor">
416<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.SnakeCaseStrategy</a></td>
417<td class="colLast">
418<div class="block">A <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy</code></a> that translates typical camel case Java
419 property names to lower case JSON element names, separated by
420 underscores.</div>
421</td>
422</tr>
423<tr class="rowColor">
424<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.UpperCamelCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.UpperCamelCaseStrategy</a></td>
425<td class="colLast">
426<div class="block">A <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy</code></a> that translates typical camelCase Java
427 property names to PascalCase JSON element names (i.e., with a capital
428 first letter).</div>
429</td>
430</tr>
431<tr class="altColor">
432<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/SequenceWriter.html" title="class in com.fasterxml.jackson.databind">SequenceWriter</a></td>
433<td class="colLast">
434<div class="block">Writer class similar to <a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.html" title="class in com.fasterxml.jackson.databind"><code>ObjectWriter</code></a>, except that it can be used
435 for writing sequences of values, not just a single value.</div>
436</td>
437</tr>
438<tr class="rowColor">
439<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/SerializationConfig.html" title="class in com.fasterxml.jackson.databind">SerializationConfig</a></td>
440<td class="colLast">
441<div class="block">Object that contains baseline configuration for serialization
442 process.</div>
443</td>
444</tr>
445<tr class="altColor">
446<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/SerializerProvider.html" title="class in com.fasterxml.jackson.databind">SerializerProvider</a></td>
447<td class="colLast">
448<div class="block">Class that defines API used by <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a> and
449 <a href="../../../../com/fasterxml/jackson/databind/JsonSerializer.html" title="class in com.fasterxml.jackson.databind"><code>JsonSerializer</code></a>s to obtain serializers capable of serializing
450 instances of specific types; as well as the default implementation
451 of the functionality.</div>
452</td>
453</tr>
454</tbody>
455</table>
456</li>
457<li class="blockList">
458<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
459<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
460<tr>
461<th class="colFirst" scope="col">Enum</th>
462<th class="colLast" scope="col">Description</th>
463</tr>
464<tbody>
465<tr class="altColor">
466<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/AnnotationIntrospector.ReferenceProperty.Type.html" title="enum in com.fasterxml.jackson.databind">AnnotationIntrospector.ReferenceProperty.Type</a></td>
467<td class="colLast">&nbsp;</td>
468</tr>
469<tr class="rowColor">
470<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/DeserializationFeature.html" title="enum in com.fasterxml.jackson.databind">DeserializationFeature</a></td>
471<td class="colLast">
472<div class="block">Enumeration that defines simple on/off features that affect
473 the way Java objects are deserialized from JSON</div>
474</td>
475</tr>
476<tr class="altColor">
477<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/MapperFeature.html" title="enum in com.fasterxml.jackson.databind">MapperFeature</a></td>
478<td class="colLast">
479<div class="block">Enumeration that defines simple on/off features to set
480 for <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a>, and accessible (but not changeable)
481 via <a href="../../../../com/fasterxml/jackson/databind/ObjectReader.html" title="class in com.fasterxml.jackson.databind"><code>ObjectReader</code></a> and <a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.html" title="class in com.fasterxml.jackson.databind"><code>ObjectWriter</code></a> (as well as
482 through various convenience methods through context objects).</div>
483</td>
484</tr>
485<tr class="rowColor">
486<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.DefaultTyping.html" title="enum in com.fasterxml.jackson.databind">ObjectMapper.DefaultTyping</a></td>
487<td class="colLast">
488<div class="block">Enumeration used with <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html#activateDefaultTyping-com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator-"><code>ObjectMapper.activateDefaultTyping(PolymorphicTypeValidator)</code></a>
489 to specify what kind of types (classes) default typing should
490 be used for.</div>
491</td>
492</tr>
493<tr class="altColor">
494<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/SerializationFeature.html" title="enum in com.fasterxml.jackson.databind">SerializationFeature</a></td>
495<td class="colLast">
496<div class="block">Enumeration that defines simple on/off features that affect
497 the way Java objects are serialized.</div>
498</td>
499</tr>
500</tbody>
501</table>
502</li>
503<li class="blockList">
504<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
505<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
506<tr>
507<th class="colFirst" scope="col">Exception</th>
508<th class="colLast" scope="col">Description</th>
509</tr>
510<tbody>
511<tr class="altColor">
512<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</a></td>
513<td class="colLast">
514<div class="block">Checked exception used to signal fatal problems with mapping of
515 content, distinct from low-level I/O problems (signaled using
516 simple <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>s) or data encoding/decoding
517 problems (signaled with <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonParseException.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonParseException</code></a>,
518 <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonGenerationException.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonGenerationException</code></a>).</div>
519</td>
520</tr>
521<tr class="rowColor">
522<td class="colFirst"><a href="../../../../com/fasterxml/jackson/databind/RuntimeJsonMappingException.html" title="class in com.fasterxml.jackson.databind">RuntimeJsonMappingException</a></td>
523<td class="colLast">
524<div class="block">Wrapper used when interface does not allow throwing a checked
525 <a href="../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind"><code>JsonMappingException</code></a></div>
526</td>
527</tr>
528</tbody>
529</table>
530</li>
531</ul>
532<a name="package.description">
533<!--   -->
534</a>
535<h2 title="Package com.fasterxml.jackson.databind Description">Package com.fasterxml.jackson.databind Description</h2>
536<div class="block">Basic data binding (mapping) functionality that
537allows for reading JSON content into Java Objects (POJOs)
538and JSON Trees (<a href="../../../../com/fasterxml/jackson/databind/JsonNode.html" title="class in com.fasterxml.jackson.databind"><code>JsonNode</code></a>), as well as
539writing Java Objects and trees as JSON.
540Reading and writing (as well as related additional functionality) is accessed through
541<a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a>,
542<a href="../../../../com/fasterxml/jackson/databind/ObjectReader.html" title="class in com.fasterxml.jackson.databind"><code>ObjectReader</code></a> and
543<a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.html" title="class in com.fasterxml.jackson.databind"><code>ObjectWriter</code></a>
544 classes.
545 In addition to reading and writing JSON content, it is also possible to use the
546 general databinding functionality for many other data formats, using
547 Jackson extension modules that provide such support: if so, you typically
548 simply construct an <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a> with
549 different underlying streaming parser, generator implementation.
550<p>
551The main starting point for operations is <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a>,
552which can be used either directly (via multiple overloaded
553<code>readValue</code>,
554<code>readTree</code>,
555<code>writeValue</code> and
556<code>writeTree</code> methods, or it can be used as a configurable factory for constructing
557fully immutable, thread-safe and reusable <a href="../../../../com/fasterxml/jackson/databind/ObjectReader.html" title="class in com.fasterxml.jackson.databind"><code>ObjectReader</code></a>
558and <a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.html" title="class in com.fasterxml.jackson.databind"><code>ObjectWriter</code></a> objects.
559<p>
560In addition to simple reading and writing of JSON as POJOs or JSON trees (represented as
561<a href="../../../../com/fasterxml/jackson/databind/JsonNode.html" title="class in com.fasterxml.jackson.databind"><code>JsonNode</code></a>, and configurability needed to change aspects
562of reading/writing, mapper contains additional functionality such as:
563<ul>
564 <li>Value conversions using <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html#convertValue-java.lang.Object-java.lang.Class-"><code>ObjectMapper.convertValue(Object, Class)</code></a>,
565  <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html#valueToTree-java.lang.Object-"><code>ObjectMapper.valueToTree(Object)</code></a> and
566  <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html#treeToValue-com.fasterxml.jackson.core.TreeNode-java.lang.Class-"><code>ObjectMapper.treeToValue(com.fasterxml.jackson.core.TreeNode, Class)</code></a> methods.
567  </li>
568 <li>Type introspection needed for things like generation of Schemas (like JSON Schema, Avro Schema, or protoc
569   definitions), using <a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html#acceptJsonFormatVisitor-java.lang.Class-com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper-"><code>ObjectMapper.acceptJsonFormatVisitor(Class, com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper)</code></a>
570   (note: actual handles are usually provided by various Jackson modules: mapper simply initiates calling of
571   callbacks, based on serializers registered)
572  </li>
573</ul>
574<p>
575Simplest usage is of form:
576<pre>
577  final ObjectMapper mapper = new ObjectMapper(); // can use static singleton, inject: just make sure to reuse!
578  MyValue value = new MyValue();
579  // ... and configure
580  File newState = new File("my-stuff.json");
581  mapper.writeValue(newState, value); // writes JSON serialization of MyValue instance
582  // or, read
583  MyValue older = mapper.readValue(new File("my-older-stuff.json"), MyValue.class);
584
585  // Or if you prefer JSON Tree representation:
586  JsonNode root = mapper.readTree(newState);
587  // and find values by, for example, using a <a href="http://fasterxml.github.io/jackson-core/javadoc/2.10/com/fasterxml/jackson/core/JsonPointer.html?is-external=true" title="class or interface in com.fasterxml.jackson.core"><code>JsonPointer</code></a> expression:
588  int age = root.at("/personal/age").getValueAsInt();
589</pre>
590<p>
591For more usage, refer to
592<a href="../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a>,
593<a href="../../../../com/fasterxml/jackson/databind/ObjectReader.html" title="class in com.fasterxml.jackson.databind"><code>ObjectReader</code></a> and
594<a href="../../../../com/fasterxml/jackson/databind/ObjectWriter.html" title="class in com.fasterxml.jackson.databind"><code>ObjectWriter</code></a>
595Javadocs.</div>
596</div>
597<!-- ======= START OF BOTTOM NAVBAR ====== -->
598<div class="bottomNav"><a name="navbar.bottom">
599<!--   -->
600</a>
601<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
602<a name="navbar.bottom.firstrow">
603<!--   -->
604</a>
605<ul class="navList" title="Navigation">
606<li><a href="../../../../overview-summary.html">Overview</a></li>
607<li class="navBarCell1Rev">Package</li>
608<li>Class</li>
609<li><a href="package-use.html">Use</a></li>
610<li><a href="package-tree.html">Tree</a></li>
611<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
612<li><a href="../../../../index-all.html">Index</a></li>
613<li><a href="../../../../help-doc.html">Help</a></li>
614</ul>
615</div>
616<div class="subNav">
617<ul class="navList">
618<li>Prev&nbsp;Package</li>
619<li><a href="../../../../com/fasterxml/jackson/databind/annotation/package-summary.html">Next&nbsp;Package</a></li>
620</ul>
621<ul class="navList">
622<li><a href="../../../../index.html?com/fasterxml/jackson/databind/package-summary.html" target="_top">Frames</a></li>
623<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
624</ul>
625<ul class="navList" id="allclasses_navbar_bottom">
626<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
627</ul>
628<div>
629<script type="text/javascript"><!--
630  allClassesLink = document.getElementById("allclasses_navbar_bottom");
631  if(window==top) {
632    allClassesLink.style.display = "block";
633  }
634  else {
635    allClassesLink.style.display = "none";
636  }
637  //-->
638</script>
639</div>
640<a name="skip.navbar.bottom">
641<!--   -->
642</a></div>
643<!-- ======== END OF BOTTOM NAVBAR ======= -->
644<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2020 <a href="http://fasterxml.com/">FasterXML</a>. All rights reserved.</small></p>
645</body>
646</html>
647