Announcing Liquid Studio v20.7.9:
Announcing Liquid Studio v20.7.8:
Announcing Liquid Studio v20.7.7:
Announcing Liquid Studio v20.7.5:
Converting XML data to JSON data can be difficult, a case in point is where the XML Schema (XSD) specifies that an element is a collection (i.e. maxOccurs >1) of type xs:any as shown in the image below:
"author": [ { ...
If we have XML data such as:
<item>
<row>Any data</row>
<row>Some other data</row>
<row>...more rows...</row>
</item>
you could say that if there is more than one 'row' value present, then we should write an array, but this leads to output that is quite different depending on the input.
i.e. if there is only a single item in the XML, then the JSON output produced would be something like:
"item": [ { "row": { "#text": "Any data" } } ]
but if there were multiple items in the XML, then the JSON output produced would be:
"item": [ { "row": [ { "#text": "Any Data" }, { "#text": "Some other data" } ] } ]
It also means the writer would need to hold the state of the last processed object in order to know whether to write an object or an array, and this does not work well with stream based writers.
As such, when we developed this functionality in Liquid XML Objects and Liquid XML Data Binder, we took the approach of outputting multiple properties with the same name:
"item": [ { "row": { "#text": "Any Data" },"row": { "#text": "Some other data" } } ]
Whilst not ideal, the output is consistent and as the JSON specification places no restrictions on duplicate keys this is a valid approach.
If possible, a better solution would be to change the XML Schema (XSD) to specify a concrete type for the data rather than using xs:any, so the JSON writer would then know that the 'row' element is a collection and will write it as an array.
Liquid XML Objects is a direct replacement for Microsoft Visual Studio's xsd.exe and includes better XSD 1.0 standard support, support for W3C XSD 1.1, support for JSON serialization and much more. The XML Objects generator is integrated into Microsoft Visual Studio and support C# and Visual Basic .Net.
Liquid XML Data Binder creates simple, intuitive code from your W3C XML Schema (XSD). The generated code library contains strongly typed classes, collections, and enumerations to create an intuitive custom API to code against from your C++, Java or VB6 (COM) source code.
Download a Free Trial and Free Community Version of Liquid XML Objects and Liquid XML Data Binder:
https://www.liquid-technologies.com/trial-download
Announcing Liquid Studio v20.7.4:
The Large File Editor enables editing of very large Gigabyte or even Terabyte size files and is part of the Liquid Studio integrated development environment (IDE). It is included in the Free Community Edition of Liquid Studio.
The Large File Editor comprises a text editor view and a binary hex editor view. The text editor support XML validation and formatting and JSON validation and formatting.
When you open a file with a known file extension (e.g. XML or JSON), the appropriate editor will be opened within Liquid Studio. If the file is of sufficient size to require the Large File Editor (as per the user settings), then the Large File Editor view will be opened instead.
You can view the Large File Editor User Settings from the menu:
Tools->Options->Editors->Large File Editor
Large File Editor Settings |
File->Open->Open In Large File Editor
Open with Large File Editor |
The Large File Editor is included in the Free Community Edition of Liquid Studio:
https://www.liquid-technologies.com/trial-download
Announcing Liquid Studio v20.7.3:
Announcing Liquid Studio v20.7.2:
Announcing Liquid Studio v20.7.1:
The Large File Editor looks and feels like a standard text editor, but it can open and edit huge gigabyte (GB) or even terabyte (TB) size files instantly, essential for any big data projects.
As of v20.7.1, the Large File Editor will try to determine if the document content is JSON or XML and validate and format accordingly. A drop down shows which document type is selected, and allows the user to change between JSON or XML if required.
Liquid Studio - Large File Editor |
Download a Free Trial and Free Community Version:
https://www.liquid-technologies.com/trial-download