Supprimer les guillemets de JSON retourné string
J'ai un ajax méthode qui renvoie un MVC JsonResult. J'ai utiliser les données pour remplir une 3ème partie les contrôles de source de données. Le 3ème contrôle du parti attend les données pour ne pas être une chaîne de caractères (c'est à dire sans les guillemets doubles autour d'elle). Si j'alerte les données retournées dans l'ajax de jquery appel, Il ne montre pas de guillemets:
[[10, 10], [15, 20], [20, 25], [32, 40], [43, 50], [55, 60], [60, 70], [70, 80], [90, 100]]
Cependant, si je regarde les données par le biais de fidler, il affiche mes données à l'intérieur de guillemets doubles:
"[[10, 10], [15, 20], [20, 25], [32, 40], [43, 50], [55, 60], [60,
70], [70, 80], [90, 100]]"
La 3ème contrôle du parti ne constitue pas la source de données correctement, et je suis sûr que c'est à cause de cela (Si je remplir la source de données par coder en dur les données ci-dessus, il fonctionne très bien)
- Avez-vous essayé
JSON.parse
ing (ou$.parseJSON
) les données renvoyées?
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser la fonction eval() ou JSON.parse()
JSON.parse
(ou même$.parseJSON
) sureval
.Le JSON retourné par le serveur, est une chaîne de caractères. Il n'est pas possible pour le serveur d'envoyer des objets Javascript.
Si le contrôle a besoin d'un objet Javascript, alors vous avez besoin pour analyser la chaîne. Vous pouvez utiliser
$.parseJSON
pour analyser la chaîne et de créer un objet Javascript, ou mieux encore, utiliser une méthode comme$.getJSON
pour l'obtenir, ou de spécifier desdaraType: 'json'
dans le@.ajax
sur options, puis sur la chaîne va automatiquement être analysé avant lasuccess
fonction de rappel est appelée.Si vous obtenez les données avec $.getJSON au lieu de l'ajax, il reviendra comme un objet au lieu de string.
Utiliser ce format, ajouter flotter dans votre numéro de valeur