Predefined Multi-Type JSON Property Conversion for Statically Typed Languages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Converting multi-type JavaScript Object Notation (JSON) properties to statically typed programming languages is challenging due to the dynamic nature of JSON, where data types are unknown until runtime, leading to potential errors and resource consumption in determining the correct data type.

Innovation Solution

A method and system that generate a static programming language data structure with fields for different data types and a metadata file to identify multi-type elements, enabling conversions between JSON and statically typed languages using conversion rules at runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dynamic type determination is performed at runtime for JSON properties, then flexibility in handling multi-type JSON data is achieved, but computational resources are consumed and errors may occur

Engineering Contradiction:
Improveflexibility in handling multi-type JSON dataVSAvoidcomputational resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary action by pre-defining all possible data types for a JSON property in the static programming language data structure before runtime execution. The converter includes conversion rules for each possible type, so when JSON data is received, the correct pre-defined structure is already prepared and can be directly instantiated without runtime type determination, thus saving computational resources while maintaining flexibility.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If dynamic type determination is performed at runtime for JSON properties, then adaptability to different data types is achieved, but erroneous data type selection may occur

Engineering Contradiction:
Improveadaptability to different data typesVSAvoidaccuracy of data type selection
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary action by pre-defining all possible data types for a JSON property in the static programming language data structure before runtime execution. The converter includes conversion rules for each possible type, so when JSON data is received, the correct pre-defined structure is already prepared and can be directly instantiated without runtime type determination, thus saving computational resources while maintaining flexibility.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple fields are generated for different data types in the static programming language data structure, then accurate data type conversions are enabled, but device complexity increases

Engineering Contradiction:
Improveaccuracy of data type conversionsVSAvoidstructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies universality by creating a single static programming language data structure that can represent multiple JSON data types through a unified design. The structure uses a common base class or interface that can be instantiated with different specific types, allowing one data structure definition to handle multiple conversion scenarios. This reduces the need for separate dedicated structures for each type, thereby reducing overall complexity while maintaining conversion accuracy.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Adaptability or versatility

If conversion rules are defined for all possible data types in the metadata file, then comprehensive conversion capability is achieved, but the size of the metadata file increases

Engineering Contradiction:
Improvecomprehensive conversion capabilityVSAvoidmetadata file size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system applies segmentation by dividing the conversion rules into modular components within the metadata file. Instead of defining all possible conversions in a single large block, the metadata is organized into separate conversion rule sets for different data types or conversion scenarios. This allows the converter to load and apply only the relevant conversion rules for the specific JSON property being processed, reducing the effective size of metadata that needs to be processed while maintaining comprehensive conversion capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250238213A1Performing conversions between multi-type javascript object notation properties and statically typed programming languages
Publication Date: 2025.07.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250238213A1 patent drawing
  • US20250238213A1 patent drawing
  • US20250238213A1 patent drawing

AI summary

A device may determine different data types of an element identified by a JavaScript Object Notation (JSON) schema and may generate a static programming language data structure, for a statically typed programming language, that includes different fields for the different data types. The device may generate a metadata file for performing conversations between JSON messages and the statically typed programming language. The metadata file may identify the element as a multi-type element and identify different conversion rules for converting the different data types between JSON and the statically typed programming language. The device may determine that a conversion of the element is to be performed between JSON data and data of the statically typed programming language. The device may perform the conversion between the JSON data and the data of the statically typed programming language using, at runtime, the metadata file and the static programming language data structure.