JSON Object Transformation via Native Rule Definition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current JSON transformation tools are not user-friendly, often requiring users to learn additional languages and involve excessive overhead processing, as they may convert JSON to XML and back, complicating the transformation process.
Innovation Solution
The system allows for specifying transformations of JSON objects using other JSON objects, enabling direct transformation without intermediate formats, allowing users to define transformations using JavaScript Object Notation (JSON) objects with attributes that specify operations, tests, and data types, thereby simplifying the transformation process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional JSON transformation APIs are used, then transformation functionality is provided, but users must learn additional languages and write custom grammar, increasing operational complexity
Solution Approach 1:
The patent changes the parameter of transformation language from external specialized languages (like XSLT) to JSON itself. By using JSON objects with transformation rules defined in JSON format, the system eliminates the need for users to learn separate transformation languages, directly resolving the contradiction between ease of operation and language complexity
Solution Approach 2:
The patent makes JSON serve multiple functions: it is used both for data representation and for defining transformation rules. This multi-functionality allows the same format to handle both data and metadata, eliminating the need for separate transformation languages and simplifying the user experience
2Productivity
If JSON is converted to XML and back for transformation, then transformation capability is achieved, but overhead processing time increases significantly
Solution Approach 1:
The patent extracts the transformation logic from external XML-based systems and embeds it directly within JSON objects. By taking out the intermediate XML conversion step and using native JSON transformation rules, the system eliminates unnecessary processing overhead and accelerates transformation operations
Solution Approach 2:
The patent removes XML as an intermediary format in the transformation process. By using JSON objects directly as both input and transformation rule formats, the system eliminates the convert-back-and-forth overhead that occurs with XML intermediaries, significantly reducing processing time
3Manufacturing precision
If specialized transformation languages are used, then precise transformation control is achieved, but user-friendly operation is compromised
Solution Approach 1:
The patent changes the parameter of transformation rule format from specialized languages to JSON. This allows precise transformation control through structured JSON objects while maintaining user-friendliness, as users only need to understand JSON syntax rather than learn complex transformation languages
Solution Approach 2:
The patent uses homogeneous JSON format for both data representation and transformation rules. This homogeneity ensures precision through consistent syntax and structure while improving user-friendliness by eliminating the need to switch between different language paradigms
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods are provided for specifying transformations of JSON objects using other JSON objects. A first object is received specified using JavaScript Object Notation. The first object includes a set of one or more attributes where each attribute is of a predetermined JSON data type and has at least one value. A second object is also received specified using JavaScript Object Notation. The second object includes a set of one or more attributes each corresponding to at least one attribute in the set of attributes of the first object and having at least one value defining one or more transformations. A third object specified using JavaScript Object Notation is generated based on transforming the first object using the second object.