json-transformer-node

WebJar for json-transformer-node

License

License

ISC
Categories

Categories

JSON Data ORM
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

json-transformer-node
Last Version

Last Version

1.0.6
Release Date

Release Date

Type

Type

jar
Description

Description

json-transformer-node
WebJar for json-transformer-node
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/Sudhirmiglani/node-json-transformer

Download json-transformer-node

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/json-transformer-node/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>json-transformer-node</artifactId>
    <version>1.0.6</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/json-transformer-node/
implementation 'org.webjars.npm:json-transformer-node:1.0.6'
// https://jarcasting.com/artifacts/org.webjars.npm/json-transformer-node/
implementation ("org.webjars.npm:json-transformer-node:1.0.6")
'org.webjars.npm:json-transformer-node:jar:1.0.6'
<dependency org="org.webjars.npm" name="json-transformer-node" rev="1.0.6">
  <artifact name="json-transformer-node" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='json-transformer-node', version='1.0.6')
)
libraryDependencies += "org.webjars.npm" % "json-transformer-node" % "1.0.6"
[org.webjars.npm/json-transformer-node "1.0.6"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Status

Build Status Known Vulnerabilities

json-transformer

A Node.js package that converts json from one format to another.

Usage

First, install the package using npm:

npm install json-transformer-node --save

Then, require the package and use it like this:

var nodeJsonTransformer = require('json-transformer-node');

var data = {
    x : "xx",
    y : "yy"
}

var transformation = {
    mapping : {
        item : {
            a : "x",
            b : "y"
        }
    }
}

var output = nodeJsonTransformer.transform(data, transformation);
console.log(output);

Output : 
{
    a : "xx",
    b : "yy"
}

Type of Transformations Supported

  1. Object to Object Transformation

     var data = {
         x : "xx",
         y : {
             z: "zz"
         }
     }
     
     var transformation = {
         mapping : {
             item: {
                 a : "x",
                 b : "y.z" // dot separated path
             }
         }
     }
     
     var output = nodeJsonTransformer.transform(data, transformation);
     console.log(output);
     
     Output : 
     {
         a : "xx",
         b : "zz"
     }
    
  2. Array to Array Transformation

         var data = {
             x : "xx",
             y : [{
                 z: "z1"
                 },
                 {
                   z: "z2"
                 }]
         }
         
         var transformation = {
             "mapping" :{ 
                 "item":{
                     a : "x",
                     b : [{
                         "list" : "y",
                         "item" : {
                             "c" : "z"
                         }
                     }]
                 }
             }
         }
         
         var output = nodeJsonTransformer.transform(data, transformation);
         console.log(output);
         
         Output : 
         {
             a : "xx",
             b : [{
                     "c" : "z1"
                 },{
                     "c" : "z2"
                 }]
         }
    
  3. Using Hardcoded values

         var data = {
             x : "xx",
             y : "yy"
         }
         
         var transformation = {
             "mapping" : {
                 "item":{
                     a : "x",
                     b : "y",
                     c : "$constantValue"
                 }
             }
         }
         
         var output = nodeJsonTransformer.transform(data, transformation);
         console.log(output);
         
         Output : 
         {
             a : "xx",
             b : "yy",
             c : "constantValue"
         }
    
  4. Array to Object Transformation

         var data = {
             x : {
                 x1 : [{
                         z : "23"
                     },{
                         z : "45"
                     }]
                 },
             y : "yy"
         }
         
         var transformation = {
                         "mapping" : {
                             "item":{
                                 a : {
                                     "flat" : "x.x1#eq(1)",
                                     "item": {
                                         "c" : "z"
                                     }
                                 },
                                 b : "y"
                             }
                         }
                     }
         
         var output = nodeJsonTransformer.transform(data, transformation);
         console.log(output);
         
         Output : 
         {
             a : {
                 c : "45"
             },
             b : "yy"
         }
         
         Note :  "flat" : "x.x1#eq(1)" means flat it, x.x1 is the dot separated path to the array, 
         eq(index) specifies the index to pick
    
  5. Object to Array Transformation

         var data = {
             x : {
                 x1 : "123"
             },
             y : 456,
             z : "abc"
         }
         
         var transformation = {
             "mapping" : {
                 "item":{
                    "arrayItems": { 
                         "objectify": "x",
                         "item": { 
                             "car": {
                                 "c1" : "x1",
                                 "c2" : "$abc"
                             }
                          }
                    }
                 }
             }
         }
         
         var output = nodeJsonTransformer.transform(data, transformation);
         console.log(output);
         
         Output : 
         { 
           arrayItems: [{ car: { 
                                 c1: "123", 
                                 c2: "abc" 
                                 }
                       }]
         }
    
  6. Type Conversion

         var data = {
             x : "123",
             y : 456,
             z : "abc"
         }
         
         var transformation = {
             "mapping" : {
                 "item":{
                     a : "x(NUMBER)",
                     b : "y(STRING)",
                     c : "z(UPPER)"
                 }
             }
         }
         
         var output = nodeJsonTransformer.transform(data, transformation);
         console.log(output);
         
         Output : 
         {
             a : 123,
             b : "456",
             c : "ABC"
         }
    
  7. Operations - depends etc.

         var data = {
             x : "RED",
             y : "Jude"
         }
         
         var transformation = {
             "config": {
                 "dependentMap": {
                     "RED": "stop",
                     "GREEN": "go"
                 }
             },
             "mapping" : {
                 "item":{
                     a : "x{DEPENDS}"
                 }
             }
         }
         
         var output = nodeJsonTransformer.transform(data, transformation);
         console.log(output);
         
         Output : 
         {
             a : "stop"
         }
    

License

Apache 2.0

Versions

Version
1.0.6