json-transform

所属分类:GIS/地图编程
开发工具:Java
文件大小:0KB
下载次数:0
上传日期:2016-06-26 14:42:56
上 传 者sh-1993
说明:  一个以Java为中心的库,用于转换和映射JSON文档,
(A Java centric library to transform and map JSON documents,)

文件列表:
LICENSE (11358, 2016-06-26)
pom.xml (4660, 2016-06-26)
src/ (0, 2016-06-26)
src/main/ (0, 2016-06-26)
src/main/java/ (0, 2016-06-26)
src/main/java/nl/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/JsonTransform.java (7953, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/DocumentToJavaMapper.java (1423, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/JavaToDocumentMapper.java (824, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/FromDocumentMapper.java (782, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/PojoFromDocumentMapper.java (2038, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/PojoToDocumentMapper.java (2297, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/ToDocumentMapper.java (789, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/DefaultDeserializer.java (7275, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/Deserializer.java (926, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/PropertyTypeSolver.java (2871, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/TypeSolver.java (1134, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/value/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/value/DateDeserializer.java (2717, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/value/DefaultValueDeserializer.java (2407, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/deserializers/value/ValueDeserializer.java (1740, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/serializers/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/serializers/DefaultSerializer.java (4279, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/serializers/Serializer.java (922, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/java/pojo/serializers/ValueSerializer.java (1205, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/MoveTransformSelect.java (4180, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/TransformSelect.java (2000, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/builder/ (0, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/builder/CompositeMappingBuilder.java (5130, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/builder/MappingBuilder.java (9760, 2016-06-26)
src/main/java/nl/ctrlaltdev/json/transform/mapping/builder/PropertyMappingBuilder.java (11083, 2016-06-26)
... ...

# JSON-Transform A Java centric library to do transforms and mappings on JSON documents. ## Examples ### Complete roundtrip ```java // String document = "{ \"some\":\"value\" }"; // // Build the mapping. // DocumentSource mapping = JsonTransform.sequence( JsonTransform.move(JsonTransform.path("elsewhere")) ).build(); // // Pull the output from the input. // Object output = mapping.getDocument( new ValueSource(JsonTransform.parse(document)) ); // // Show the output. // System.out.println(JsonTransform.print(output)); // // {"elsewhere":{"some":"value"}} // ``` ### Property Mapping ```java MappingTransform mapping = JsonTransform.mapProperties() .rename("id", "remoteId") .delete("value") .add("constant", Integer.valueOf(42)) .reformat("name", new UppercaseConversion()) .move("move", JsonTransform.path("moved.somewhere")) .rename("bad", "good") .build(); ``` # Maven To use JSON-Transform in your project, add the following Maven dependency: ```xml nl.ctrlaltdev.jsontransform json-transform 0.1.1 ``` # Introduction Currently there is no easy way of converting Json into some other form of Json in Java. As I am currently working on a project that does lots of Json transformations by mapping the Json to Java, the Java to some other Java using mapping code and then map that Java back to Json, I thought it could be a good idea to remove Java from the equation and do the transformation in some generic format. This library is an implementation of that idea. ## Features - Property Mappings. (add, delete, rename, reformat, etc) - Property Conversions (string, date time, etc) - Transforms. (copy, move, map parts or the whole of the document) - Select document nodes using JsonPath, prefab selectors or write your own. - Describe the position in a document using Path, or a Relative Path. - Java Binding. - Json Templates (build a Json document out of other documents using a template structure and selects). - Combine multiple Json documents into one. - Split and Join documents. - Combine multiple transforms together. - Write your own custom mappings using the Transform or ValuePathTransform interfaces. - Built in parser and printer. - No runtime dependencies. ## Getting Started Look at the examples above and examine the Unit Tests, they cover the full range of the API. Then start working with the JsonTransform API facade which exposes most of the functionality of this library. ## Alternatives - [JOLT](https://github.com/bazaarvoice/jolt) - JSON to JSON transformation library written in Java where the "specification" for the transform is itself a JSON document. - [Silencio](https://github.com/damianszczepanik/silencio) - Silencio is a Java library for transforming and converting JSON, Properties and other file formats. ## License [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) # Releases ## 0.1.1 / 17 Januari 2016 - Listify and Mapify transforms. - Added excludes to Flatten transform. - Relaxed toJava Mapping ## 0.1.0 / 14 January 2016 First Release!

近期下载者

相关文件


收藏者