2017-06-28 4 views
1

Après sujet Thie AngularJS - Special Characters in JSON and Coldfusion Request Je conclus que le problème ne venait pas de AngularJS ou ma syntaxe JSON. Il est certainement un problème avec Coldfusion.échapper des caractères spéciaux # & ' "dans une chaîne en Coldfusion

Pour rappel, Je suis en train d'utiliser une chaîne JSON pour faire une insertion dans une base de données avec ColdFusion. J'utilise une fonction définie dans un composant pour le faire.

Ma fonction a la chaîne comme argument.

ici un exemple de la chaîne utilisée:

jsStruct={"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"[email protected]","COMPANY":"Test & Comp"} 

Ma chaîne est correcte et la structure du JSON est correcte.

Dans mon composant Coldfusion « component.cfc »:

<cffunction name="myfunction" access="remote" returnformat="JSON" output="no">  
     <cfargument name="jsStruct" type="string" required="true"> 
     <cfset var cfStruct=DeserializeJSON(jsStruct)> 

     .................. 

    </cffunction> 

cette erreur j'obtenir sur le serveur lorsque j'utilise la chaîne parce que dans ma chaîne il y a des caractères spéciaux. Par exemple "ENTREPRISE": "Test & Comp":

JSON parsing failure: Unexpected end of JSON string 


The error occurred in ../contacts.cfc: line 267 

265 :  <cfargument name="jsStruct" type="string" required="true"> 
266 : 
267 :  <cfset var cfStruct=DeserializeJSON(jsStruct)> 

Pourriez-vous s'il vous plaît me aider à résoudre ce problème et éviter (évasion) caractères spéciaux utilisés par ColdFusion et Oracle comme &, #, »," ? et d'autres

+0

double possible de [AngularJS - Caractères spéciaux dans la demande JSON et Coldfusion] (https://stackoverflow.com/questions/44773766/angularjs-special-characters-in-json -and-coldfusion-request) – beloitdavisja

+0

L'autre sujet résolu pas le problème sur le côté serveur. Je conclus seulement que ce n'est pas un problème avec AngularJs et avec la syntaxe JSON. Maintenant, je voudrais résoudre le problème avec Coldfusion. – coeurdange57

+0

Quelle version de ColdFusion utilisez-vous? –

Répondre

0

Vous dites, par erreur,

Ma fonction a la chaîne comme argument Voici un exemple de la chaîne utilisée.

*jsStruct={"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"[email protected]","COMPANY":"Test & Comp"}* 

Vous appelez vous-même une struct, ce qui est correct. Ce n'est pas une chaîne.

Utilisez quelque chose comme:

jsonString='{"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"[email protected]","COMPANY":"Test & Comp"}';