spond aux spécifications (voir here ou here) seulement "
et \
caractères doivent être se sont échappés. Certains autres caractères pourraient être échappés. Donc le caractère '
non échappé n'est pas une erreur. Je suppose qu'il y a une autre raison pour l'erreur "Erreur JSON Parser invalide".
Vous devez inclure plus de code JavaScript complet qui montre comment vous utilisez jqGrid, le code d'action du contrôleur ASP.NET MVC ou plus de réponse JSON complète qui renvoie le serveur. En général, vous pouvez produire une réponse JSON correcte sans Json.NET (Newtosoft) ou avec celle-ci ou toute autre bibliothèque.
Vous devez inclure l'option autoencode: true
pour afficher les données de texte correctement dans jqGrid. Vous devez utiliser l'option datatype: "json"
et jsonReader
(voir the documentation). Il ne suffit donc pas de produire des données JSON ou XML bien formatées pour afficher correctement les données dans jqGrid. Il pourrait être nécessaire d'inclure des options jqGrid qui donnent des informations sur le format exact des données.
MISE À JOUR: Les données JSON que vous avez publiées sont réellement corrompues. jsonlint.org est un bon endroit où vous pouvez valider les données JSON.Probablement vous essayez de produire des données JSON manuellement, car les données sont tout à fait tort:
{
"total": 1,
"page": 1,
"records": 3,
"rows": [
{
"i": 0,
"cell": "", <---- it must be "cell": [""
"1",
"1",
"DesSinglApostropAndURLhasEnterKeyChar",
"Samp'le value",
"http://google.com/Dashboard.aspx?ParcelNbr= {SITE_APN}",
"False",
"",
""
]
},
"i": 1, <--- it must be {"i": 1
"cell": "",
"2",
"2",
"DesWithSlashAndURLwithSlash",
"Sample\value2", <--- it must be "Sample\\value2" or "Sample value2"
"http://Googole.com/Dashboard.aspx?ParcelNbr={SITE_APN}&ABC=\XYZ", <--- \XYZ is WRONG
"False",
"",
""
]
},
{
"i": 2,
"cell": [
"",
"3",
"3",
"DesWithAmpersand",
"Sample & value3"","http: //Googole.com","False","",""]}]} <-- "Sample & value3"" is WRONG
Les données contient 5 erreurs de syntaxe:
utilisation
- de
"cell": ""
au lieu de "cell": [""
utilisation
- de
}, "i": 1,
au lieu de }, {"i": 1,
- utilisation de
"Sample\value2"
au lieu de "Sample value2"
ou "Sample\\value2"
- utilisation de
"http://Googole.com/Dashboard.aspx?ParcelNbr={SITE_APN}&ABC=\XYZ"
au lieu de "http://Googole.com/Dashboard.aspx?ParcelNbr={SITE_APN}&ABC=XYZ"
ou "http://Googole.com/Dashboard.aspx?ParcelNbr={SITE_APN}&ABC=\\XYZ"
utilisation
- de
"Sample & value3""
au lieu de "Sample & value3"
ou "Sample & value3\""
De plus vous avez utilisé i
propriété au lieu de id
("i": 1
doit être fixé à "id": 1
). Ce n'est pas une erreur dans JSON, mais vous devriez produire les données pour jqGrid, vous devriez donc conserver le format attendu par jqGrid. Voir the documentation. La réponse JSON fixe devrait être quelque chose comme
{
"total": 1,
"page": 1,
"records": 3,
"rows": [
{
"id": 0,
"cell": [
"",
"1",
"1",
"DesSinglApostropAndURLhasEnterKeyChar",
"Samp'le value",
"http://google.com/Dashboard.aspx?ParcelNbr= {SITE_APN}",
"False",
"",
""
]
},
{
"id": 1,
"cell": [
"",
"2",
"2",
"DesWithSlashAndURLwithSlash",
"Sample value2",
"http://Googole.com/Dashboard.aspx?ParcelNbr={SITE_APN}&ABC=XYZ",
"False",
"",
""
]
},
{
"id": 2,
"cell": [
"",
"3",
"3",
"DesWithAmpersand",
"Sample & value3",
"http: //Googole.com",
"False",
"",
""
]
}
]
}
Je vous recommande d'analyser le code des exemples d'utilisation ASP.NET MVC avec jqGrid (voir here par exemple) et de fixer votre code de serveur.
Pourriez-vous fournir un échantillon? –
@Garath a ajouté un exemple de construction JSON dans le code – Billa
"Comment puis-je l'analyser avec succès"? En javascript? Cet objet sera sérialisé en json très bien et peut être utilisé dans js de toute façon vous le voulez. Que faites-vous exactement avec l'objet json qui vous donne une erreur? –