2010-09-06 1 views
5

Рассмотрим это как мой JSon строки,удалить кавычки из ключей в строке JSON с помощью JQuery

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

и я хочу, чтобы мои строки, как это,

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

Я делаю так, чтобы использовать он с jlinq ..

+0

Думайте, что вы должны пойти с регулярным выражением, ища слова перед символом ':'. –

+0

Почему именно вы хотите это сделать? – Hogan

+0

@GenericTypeTea и @Hogan Я пытаюсь отфильтровать мои клиентские данные json с помощью библиотеки jlinq. Он использует последний тип json-строки http://www.hugoware.net/Projects/jLinq –

ответ

13

Использование регулярных выражений:

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); 

Строка станет в качестве второго кодоблока:

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

Но не что вызовет проблемы, если метка была зарезервированное слово?

+0

Что делать, если один из ключей или значений имеет в нем ':'? Использование анализатора JSON было бы более безопасным подходом. – user113716

+0

@patrick, он не будет соответствовать им, потому что регулярное выражение указывает двойные кавычки и '\ w +', поэтому оно не будет совпадать с именем '' my name: john "' nor '" мое имя: \ " john \ ": the coder!" ' – aularon

+0

Это моя точка зрения. Он не будет соответствовать этому. – user113716

6

Если то, что вы есть на самом деле строка JSON, как:

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

Тогда вы могли бы разобрать его с $.parseJSON(), как:

var result = $.parseJSON(obj); 

Это будет преобразовать строку JSON в яваскрипте объекты/массивы.

+0

, если возможно, go через это http://www.hugoware.net/Projects/jLinq и посмотреть data.users –

+0

@ Пандия - я вижу это, но как насчет этого я должен видеть? – user113716

+0

теперь см. Это http://stackoverflow.com/questions/3636568/jlinq-doesnt-seem-to-fetch-all-matching-rows-from-my-json-data. Я попробовал то же, что вы сказали, но это не так. 't фильтровать мои данные json? –

Смежные вопросы