How to parse JSON in javascript
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How to parse JSON in javascript
Hello, community.
I couldn't find a way to parse JSON in javascript. Could anybody help me?
I casual JS I can use JSON.parse. But it is invalid case for SOAPUI.
I know that for grove it's a lot of examples with JsonSlurper, in my case I'm using only javascript.
My scenario:
I have REST request which returns we JSON.
To this request I have added Script Assertion in which I want to check value from JSON response and value from custom property.
Thanks in advance.
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi divergentor,
Have you considered using JSON assertions instead?
Helen Kosova
SmartBear Documentation Team Lead
________________________
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Helen.
I thought about it as a first solution.
But I need customer property to be incremented.
I couldn't find any option to increment value from JSONpath.
That is why i decided that Script Assertion will be the best solution.
For now I did it by adding one additional Script step, in which I take customer property, increment it and write back.
Then I take it and compare as you show.
But I want to use javascript because it can simplify a lot of things.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
SoapUI 5.3 uses an older version of the Rhino engine (1.7R2) that does not support JSON.parse(), but there are a couple of workarounds.
Option 1: use eval()
var str = '{"foo": "bar"}'; var obj = eval('(' + str + ')'); log.info(obj.foo);
Option 2: Update Rhino engine and use JSON.parse()
- Download the latest version of Rhino from here:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino - In the <SoapUI>\lib folder, replace js-1.7R2.jar with js-<ver>.jar from the downloaded archive.
- Restart SoapUI.
Now you can use JSON.parse():
var str = '{"foo": "bar"}'; var obj = JSON.parse(str); log.info(obj.foo);
Helen Kosova
SmartBear Documentation Team Lead
________________________
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nice one - great answer! 🙂
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
Thank you for your answer. You save me a lot of time.
It's exactly what I need.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
You can simply use the JavaScript function called JSON.parse() to convert text into javascript object.
E.x.
var txt = '{"name":"John", "age":30, "city":"New York"}' var obj = JSON.parse(txt);
