2010-06-25 11 views
3

Puis-je échapper un deux-points: dans une chaîne JSON? Actuellement cet objet/ensemble de valeursColon dans une chaîne JSON

{ pn: "MT46H128M16LFCK-5 IT:A", 
    visible: false, 
    url: "/$ws$/29/1/products/ProductDetails.html?product=products/dram/MT46H128M16LFCK-5 IT" 
} 

n'est pas lu. Je soupçonne que cela est dû à :A dans la valeur pn. Comment puis-je y échapper ou le saisir?

+4

Vous n'avez pas besoin d'échapper les deux-points. Ce ne sont vraiment que des citations qui doivent être échappées dans JSON. – Gabe

+0

Oui, j'ai lu votre message mal avec ma réponse initiale (pensé que c'était un sélecteur jquery pour une raison quelconque) ... désolé. L'espace dans l'URL est un peu douteux pour moi cependant. – Andir

+0

@gabe, Aussi/dans certains cas. – Arashsoft

Répondre

3

Si c'est votre JSON actuel, votre problème est que les identifiants (pn, visible, url), doivent être cités ("pn", "visible", "url").

Comme le dit le commentaire, les deux-points n'ont pas besoin d'être échappés dans les littéraux de chaîne JSON.

+0

Hmm, à l'exception des autres paires de valeurs qui fonctionnent parfaitement. E.g. {pn: "MT45W8MW16BGX-856 AT", visible: true, url: "/$ws$/29/1/products/ProductDetails.html?product=products/dram/MT45W8MW16BGX-856 AT"} Works bien et renvoie les résultats. –

+0

Je l'utilise conjointement avec autoSuggest/jQuery. Malheureusement, tous nos sites de développement sont derrière un pare-feu, donc je ne peux pas lister les URL réelles, mais voici l'appel jquery: –

+0

jQuery ("entrée # recherche"). AutoSuggest (webPartItems, { selectedItemProp: "pn", searchObjProps: " pn », selectedValuesProp: "url", starttext: "Recherche par numéro de pièce ou mot-clé", retrieveLimit: 10, minChars: 2, emptyText: "Aucun résultat type MT1 ...", selectionLimit: 1. , selectionAjouté: function (elem) { var pLink = jQuery ('input.as-values') .attr ("valeur"); window.location = pLink.split (',') [0]; } –