JSON として解析する必要がある文字列があります。
問題は、二重引用符が含まれている場合があり、解析でエラーが発生することです。
例えば:
{
"id_clients":"58844",
"id_clients_name" : ""100" test"qw"
}
"
開始と終了の間の二重引用符を . に置き換える正規表現が必要\"
です。
ありがとう。
JSON として解析する必要がある文字列があります。
問題は、二重引用符が含まれている場合があり、解析でエラーが発生することです。
例えば:
{
"id_clients":"58844",
"id_clients_name" : ""100" test"qw"
}
"
開始と終了の間の二重引用符を . に置き換える正規表現が必要\"
です。
ありがとう。
ジェネレーターを修正した方が確かに良いのですが、ただの楽しみのために試してみました。これはあなたの場合にうまくいくか、少なくともあなたにインスピレーションを与えるかもしれません:
ここで試すことができます
$( function()
{
var myString = "{ \"na\"\"me\": \"va\"lue\", \"tes\"\"t\":\"ok\" }";
var myRegexp = /\s*\"([\w\"]+)\"\s*[,}:]/g;
var match;
var matches = [];
// Save all the matches
while((match = myRegexp.exec(myString)) !== null)
{
matches.push(match[1]);
console.log(match[1]);
}
// Process them
var newString = myString;
for (var i=0; i<matches.length; i++)
{
var newVal = matches[i].replace(/\"/g, '\\\"');
newString = newString.replace(matches[i], newVal);
}
alert(myString + "\n" + newString);
}
);
試すことができますが、これは開始タグに対してのみ機能します:
.replace(/\"\"/g, '\\""');