Skip to main content

Convert JSON to XML using QTP/UFT/VBScript

Sample Code :
Dim strPage,strJSON,objIE
strPage = "C:\Jay\JLoader.html"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate2 strPage
While objIE.Busy : Wend
strJSON = "{""FirstName"":""Jay"", ""LastName"":""Krishna""}"
Set objWin = objIE.document.parentWindow
objWin.execScript "var jsonStr2XML = function(strJSON) { return json2xml(JSON.parse(strJSON));};"
Msgbox  oWin.jsonStr2XML(strJSON)
objIE.Quit


In Detail:

Converting The most popular data interchange format JSON(JavaScript Object Notation) to XML using QTP/UFT.

Parsing JSON in UFT could be a challenge so we will use JavaScript in UFT to make it perfect.

SO We need :
             Java Script API  - To Convert JSON to XML
                        JavaScript Files :
                        http://goessner.net/download/prj/jsonxml/json2xml.js
                        http://goessner.net/download/prj/jsonxml/xml2json.js

             JSON parser    -  To parse string to generate JSON object.
                        JSON2.js parser:
                        http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.min.js
We need a HTML web page to load all these libraries so We create a JLoader.html file  in your desired path like  “C:\Jay\JLoader.html

XHTML


1)   Load Webpage:
strPage = "C:\Jay\JLoader.html"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate2 strPage
While objIE.Busy : Wend

2) JSON String Format:
strJSON = "{""FirstName"":""Jay"", ""LastName"":""Krishna""}"

3)Convert to JSON Object:
Set objWin = objIE.document.parentWindow
objWin.execScript "var jsonStr2XML = function(strJSON) { return json2xml(JSON.parse(strJSON));};"

4)OUTPUT:
Msgbox  oWin.jsonStr2XML(strJSON)

Comments

Popular posts from this blog

Customised HTML Result Report for UFT/QTP with ScreenShots in HP ALM TestSet attached.

On   Error   Resume   Next '======================================================================================================================================== 'Module Name            :    GenerateCustomReport.qfl ' Author                    :    Jay 'Date Created            :     13/11/2014 'Description                :     The library contains various functions that are used to generate a Custom HTML report '======================================================================================================================================== 'Project/Test Specific Variables ...

How to convert Excel column numbers into alphabetical characters

 The ConvertToLetter function works by using the following algorithm: Divide the column number by 27, and then put the resulting integer in the variable "i". Subtract the column number from "i" multiplied by 26, and then put the result in the variable "j". Convert the integer values into their corresponding alphabetical characters, "i" and "j" will range from 0 to 26 respectively. For example: The column number is 30. The column number is divided by 27: 30 / 27 = 1.1111, rounded down by the Int function to "1". i = 1 Next Column number - (i * 26) = 30 -(1 * 26) = 30 - 26 = 4. j = 4 Convert the values to alphabetical characters separately, i = 1 = "A" j = 4 = "D" Combined together, they form the column designator "AD". The following VBA function is just one way to convert column number values into their equivalent alphabetical charac...

How To open Password Protected Excel sheets using Vb Script

Function UnprotectXL(filePath,fileName,pwd,writeresPwd)    Set objExcel=CreateObject(“Excel.Application”)    objExcel.Visible=false    testData=filePath&”\”&fileName    Set oWorkbook=objExcel.Workbooks    Set myWkbook=objExcel.Workbooks.open (testData,0,False,5,pwd,writeresPwd)    objExcel.DisplayAlerts=False    oWorkbook(fileName).Activate    For Each w in objExcel.Workbooks         w.SaveAs testData,,”",”"          Next    objExcel.Workbooks.Close    objExcel.Quit    Set oWorkbook=Nothing    Set objExcel=Nothing   End Function Function ProtectXL(filePath,fileName,pwd,writeresPwd)      On Error Resume Next      Set objExcel=CreateObject(“Excel.Application”)      objExcel.Visible=False      testData=filePath...