2017-07-24 4 views
0

J'ai écrit un service Web (cfc) dans ColdFusion qui accepte les données d'entrée JSON et je renvoie le code d'état http après l'authentification. Ma question est - Comment attraper/accepter les données JSON dans ColdFusion, dans le FORM Scope ???Entrée JSON pour le service Web ColdFusion + RestFul

J'ai écrit deux façons d'accepter JSON, et je ne suis pas sûr. Quelqu'un peut-il aider s'il vous plait.

FIRST WAY:

<cfscript> 
    record=deserializeJSON(
'{ 
"customerId": #Form.CustomerID#, 
"userName": "#Form.userName#", 
"password": "#Form.Password#" 
}' 
); 

this.customerid = record.customerId; 
this.userName = record.userName; 
this.password = record.password; 
</cfscript> 

Je l'analyse JSON d'entrée et de le faire dans un struct, puis définir les paramètres dans une variable.

WAY DEUXIÈME:

<cfif (cgi.content_type EQ "application/json")> 

     <cfset record = deserializeJSON(ToString(getHTTPRequestData().content))> 
     <cfscript> 
this.customerId = record.customerId; 
this.userName = record.userName; 
this.password = record.password; 
</cfscript> 

</cfif> 

Quelqu'un peut-il s'il vous plaît me aider à comprendre comment attraper les données d'entrée JSON dans ColdFusion?

+0

Je suis à la recherche à votre utilisation de 'deserivalizeJSON() 'et je pense que vous allez dans le mauvais sens. Je pense que vous voulez construire une structure, puis sérialiser. –

Répondre

0

La façon dont vous avez formulé votre question Je ne suis pas sûr de ce que vous demandez? En regardant votre code, il semble que vous voulez convertir les valeurs de soumission de formulaire en JSON? Si oui, ceci:

<cfset myJSONForm = serializeJSON(form)> 

Si vous capturez JSON il devrait être facile aussi longtemps que le JSON est formaté correctement:

<cfif isJSON(form.jsonString)> 
    <cfset myJSONvar = deserializeJSON(form.jsonString)> 
</cfif> 
+0

Non, en fait, je veux convertir les valeurs JSON en variables. Je vais recevoir l'entrée JSON. – Vasu