How to parse JSON in coldfusion

Parses the json object and displays the contents of its arrays using DeserializeJSON,
This function is useful any time a ColdFusion page receives data as JSON strings.

I Type Json:

<cfoutput>
    <cfset JsonData='[{"reason": "email address is unknown", "email": "abc@hotmail.comh"},
    {"reason": "email address is unknown", "email": "bbc@68gmail.com"},
    {"reason": "email address is unknown", "email": "ff@ff.com"},
    {"reason": "Known bad domain", "email": "rr@hotmai.com"},
    {"reason": "email address is unknown", "email": "ll@pp.rr.com"}]'>
   
    <cfset JsonData=REReplace(JsonData,"^\s*[[:word:]]*\s*\(\s*","")>
    <cfset JsonData=REReplace(JsonData, "\s*\)\s*$", "")>
   
    <cfset cfData=DeserializeJSON(JsonData)>
    <cfloop from="1" to="#arraylen(cfData)#" index="i">
         #cfData[i].email# -    #cfData[i].reason#<br />
    </cfloop>
</cfoutput>

II Type Json:

<cfoutput>
    <cfset JsonData='[{"reason": "email address is unknown", "email": "abc@hotmail.comh"},
    {"reason": "email address is unknown", "email": "bbc@68gmail.com"},
    {"reason": "email address is unknown", "email": "ff@ff.com"},
    {"reason": "Known bad domain", "email": "rr@hotmai.com"},
    {"reason": "email address is unknown", "email": "ll@pp.rr.com",
     "errors": [{"error": "Known bad domain1"},{"error": "Known bad domain2"},{"error": "Known bad domain3"}]
    },{"reason": "email address is unknown", "email": "mms@pp.rr.com"}]'>
   
    <cfset JsonData=REReplace(JsonData,"^\s*[[:word:]]*\s*\(\s*","")>
    <cfset JsonData=REReplace(JsonData, "\s*\)\s*$", "")>
   
    <cfset cfData=DeserializeJSON(JsonData)>
   
    <cfloop from="1" to="#arraylen(cfData)#" index="i">
         #cfData[i].email# -    #cfData[i].reason#<br />
        <cfif StructKeyExists(cfData[i],'errors')>
            <!---<cfdump var="#cfData[i].errors#">--->
            <cfloop from="1" to="#arraylen(cfData[i].errors)#" index="j">
               #cfData[i].errors[j].error# <br />
            </cfloop>
        </cfif>
    </cfloop>
   
</cfoutput>

Comments

Popular posts from this blog

Login with facebook using coldfusion

Create CSV file in Coldfusion Using CFFile

Get Previous One Day Data in Sql Server