開発中のWebアプリケーションにJSONを使用しています。しかし、さまざまな理由から、サービスコールのJSONレスポンスに基づいてクライアントスクリプトですでに定義されている「オブジェクト」を作成する必要があります。このために、JSONレスポンスに「新しい」ステートメントを挿入するために、正規表現を使用したいと思います。RegExを使用してJSONレスポンスに挿入するにはどうすればよいですか?
function Customer(cust)
{
this.Name = null;
this.ReferencedBy = null;
this.Address = null;
if (cust != null)
{
this.Name = cust.Name;
this.ReferencedBy = cust.ReferencedBy;
this.Address = cust.Address;
}
}
JSONレスポンスは、ASP.NET AJAXサービスによって返され、それがオブジェクト型を決定し、「新しい」文を挿入するために使用することができ、「__type」メンバーが含まれています。
サンプルJSON:
{"__type":"Customer", "ReferencedBy":{"__type":"Customer", "Name":"Rita"}, "Name":"Joseph", "Address":"123 {drive}"}
結果の文字列は次のようになります。
new Customer({"ReferencedBy":new Customer({"Name":"Rita"}), "Name":Joseph", "Address":"123 {drive}"})
私がこれまでに得たが、それはReferencedBy部材と正しく動作しません。
試合:
({"__type":"Customer",)(.*?})
置き換える:
new Customer({$2})
回答ありがとうございますが、ReferencedByメンバーの問題は解決しません。 私が投稿したサンプルは小さなテストケースに過ぎません。アプリケーションには数百種類の異なるタイプがあり、レスポンスJSONはオブジェクトの非常に複雑なウェブになる可能性があるので、文字列を変換する必要があります。 – cocogza