org.json.JSONOrderedObject Java library

Hi,
First of all, this is my first JSON in Java experience.
I was getting 400 - bad request for extraction call (/Extractions/Extract). Then I've tried to sent just a json string with property order exactly as it was in the example and it was working. A bit tricky.
I don't think my library (com.googlecode.json-simple) can maintain the property order within a JSONObject. In the API's Java examples there's a org.json.JSONOrderedObject - I was not able to find out which JSON library contains this class.
Thanks for any advice.
Filip
Best Answer
-
Ok, now I see these classes are included within the examples.
Anyway I was hoping for more "Maven" way - I don't feel comfortable neither including this 3rd party to my source code nor creating and deploying artifact from those.
I've resolved the issue with this simple work-around, still using json-simple, but substituting standard HashMap with LinkedHashMap.
public class JSONOrderedObject extends LinkedHashMap<String, Object> implements Map<String, Object>, JSONAware, JSONStreamAware {
@Overridepublic String toJSONString() {
return JSONObject.toJSONString(this);}
@Overridepublic void writeJSONString(Writer writer) throws IOException {
JSONObject.writeJSONString(this, writer);}
}0
Answers
-
If you download the Java code examples from the downloads tab, you will find the libraries we used, under \DSS2_Java_Examples\src\org\json.
Note these Java samples are currently being rewritten to make them easier to understand. The first one in the new style is DSS2SearchFirRICClientV2.java. The others will come soon.
0 -
Based on JSONOrderedObject source code, it seem that the class is written using pure java classes(no using any JSON library classs) as shown below:
0 -
Thanks for sharing your work around solution. That's great! The org.json.JSONOrderedObject class is a modified version of the org.json.JSONObject, to help maintain the order of the properties in the JSON request object (yes, as you noted, the exact order of the properties is required for most of the requests). The main difference is the org.json.JSONOrderedObject class uses LinkedHashMap instead on Map.
0 -
Sample rewrite is finished, the new versions are now available for download here.
0 -
I have the same problem: I would like use something more "Maven".
I found org.springframework.boot.configurationprocessor.json.JSONObject which internally uses a LinkedHashMap.
maven dependency:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>2.3.12.RELEASE</version>
However I was wondering if anyone else is using something different and why.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛