2010-09-06 93 views
5

Considere esto como mi cadena JSON,eliminar citas de llaves en una cadena JSON usando jQuery

{"Table" : [{"userid" : "11","name" : "KumarP","designation" : "Business Head", 
"phone" : "9789234793","email" : "[email protected]","role" : "Admin", 
    "empId" : "EI003","reportingto" : "KumarP"}]} 

y yo quiero tener mi cadena como esta,

{Table:[{ userid: "11", name: "KumarP", designation: "Business Head", 
    phone: "9789234793", email:"[email protected]", role : "Admin", 
     empId : "EI003",reportingto : "KumarP"}]} 

lo estoy haciendo a utilizar con jlinq ..

+0

Creo que debería ir con una expresión regular, buscando palabras antes del ':'. –

+0

¿Por qué exactamente quieres hacer esto? – Hogan

+0

@GenericTypeTea y @Hogan estoy tratando de filtrar mis datos json junto al cliente con una biblioteca como jlinq. Utiliza el último tipo de cadena json http://www.hugoware.net/Projects/jLinq –

Respuesta

13

utilizar expresiones regulares:

var a='{"Table" : [{"userid" : "11","name" : "KumarP","designation" : "Business Head","phone" : "9789234793","email" : "[email protected]","role" : "Admin", "empId" : "EI003","reportingto" : "KumarP"}]}'; 
a=a.replace(/"(\w+)"\s*:/g, '$1:'); 
alert(a); 

La cadena también se sientan a su segundo bloque de código:

{Table: [{userid: "11",name: "KumarP",designation: "Business Head",phone: "9789234793",email: "[email protected]",role: "Admin", empId: "EI003",reportingto: "KumarP"}]} 

pero no que causa un problema si la etiqueta era una palabra reservada?

+0

¿Qué sucede si una de las claves o valores tiene un ':' en ella? Usar un analizador JSON sería un enfoque más seguro. – user113716

+0

@patrick, no coincidirá con ellos, porque la expresión regular especifica comillas dobles, y un '\ w +', por lo que no coincidirá con un '" mi nombre es: john "' ni '" mi nombre es: \ " john \ ": ¡el codificador!" ' – aularon

+0

Ese es mi punto. No lo coincidirá. – user113716

6

Si lo que tienes es en realidad una cadena JSON, como en:

var obj = '{"Table" : [{"userid" : "11","name" :"KumarP","designation" : "Business Head",\ 
"phone" : "9789234793","email" : "[email protected]","role" : "Admin",\ 
"empId" : "EI003","reportingto" : "KumarP"}]}'; 

Posteriormente, se podría analizar con $.parseJSON(), como en:

var result = $.parseJSON(obj); 

Esto convertirá su cadena JSON a objetos JavaScript/matrices.

+0

si es posible vaya a través de este http://www.hugoware.net/Projects/jLinq y ver los data.users –

+0

@Pandiya - Lo veo, pero ¿qué tal si debería verlo? – user113716

+0

ahora vea esto http://stackoverflow.com/questions/3636568/jlinq-doesnt-seem-to-fetch-all-matching-rows-from-my-json-data He intentado lo mismo que ha dicho pero no lo hace filtrar mis datos JSON? –

Cuestiones relacionadas