-1

次のような文字列があります。

"{
\"__type\":\"DailyRequestItem:#CapitalIQ.DataAPI.Download\",
\"Identifier\":{\"__type\":\"CompanyIdentifier:#CapitalIQ.DataAPI\",\"SearchString\":\"goog\"},
\"FormulaMetric\":{\"MetricName\":\"IQ_LASTSALEPRICE\",\"MetricId\":0},
\"ReturnType\":0,
\"CurrencyConversionInfo\":{\"CurrencyId\":160,\"CurrencyConversionMode\":0},\"Response\":{
\"Id\":0,\"CompanyId\":29096,\"TradingItemId\":11311662,\"RequestedCurrencyId\":0,\"CurrencyConversionModeId\":0,\"Error\":0,\"Values\":[{\"CurrencyConversionDate\":\"\\/Date(-62135578800000-0500)\\/\",\"DataTypeId\":2,\"ReportedCurrencyId\":0,\"Id\":0,\"CurrencyId\":160,\"ScaleId\":0,\"UnitsId\":0,\"ValueId\":0,\"ValueAsString\":\"896.598000\",\"Delimiter\":\",\",\"SubValueList\":null,\"Error\":0,\"ClickThroughTypeId\":0,\"InstanceId\":0,\"PricingDate\":\"\\/Date(1374724800000-0400)\\/\",\"ConversionMode\":0,\"AuditabilityTypeId\":0,\"AsOfDate\":\"\\/Date(1374724800000-0400)\\/\",\"CompanyId\":0,\"DataItemId\":0,\"TradingItemId\":0}]
},
\"RangeInfo\":{\"AsOfDate\":\"\\/Date(1374724800000-0400)\\/\",\"StartDate\":\"\\/Date(-62135596800000)\\/\",\"EndDate\":\"\\/Date(-62135596800000)\\/\",\"Frequency\":1,\"ReturnType\":0,\"TradingDayOffset\":null,\"IsIntraday\":false},\"Period\":null}"

この部分を削除する必要があります。

\"Response\":{
\"Id\":0,\"CompanyId\":29096,\"TradingItemId\":11311662,\"RequestedCurrencyId\":0,\"CurrencyConversionModeId\":0,\"Error\":0,\"Values\":[{\"CurrencyConversionDate\":\"\\/Date(-62135578800000-0500)\\/\",\"DataTypeId\":2,\"ReportedCurrencyId\":0,\"Id\":0,\"CurrencyId\":160,\"ScaleId\":0,\"UnitsId\":0,\"ValueId\":0,\"ValueAsString\":\"896.598000\",\"Delimiter\":\",\",\"SubValueList\":null,\"Error\":0,\"ClickThroughTypeId\":0,\"InstanceId\":0,\"PricingDate\":\"\\/Date(1374724800000-0400)\\/\",\"ConversionMode\":0,\"AuditabilityTypeId\":0,\"AsOfDate\":\"\\/Date(1374724800000-0400)\\/\",\"CompanyId\":0,\"DataItemId\":0,\"TradingItemId\":0}]
},    

そしてシリーズ化。私はこの正規表現を使用していますが、役に立ちません:

string pattern = @"\\Response\.\]}";

誰かが正規表現パターンを形成するのを手伝ってくれますか? 助けてください

4

1 に答える 1

1

人々が JSON 応答の正規表現を解析することを提案しているように、適切な解決策ではありませんが、それでも他の解決策が見つからない場合は、このパターンを使用して問題を解決できます。

(\"Response\")[\S\s]*?(?=\"RangeInfo\")

このrubular demoを見てください。

ノート:

JSON 応答は常に特定の形式であり、RangeInfo要素は JSON 応答の次のノードになると思います。

于 2013-08-01T03:32:12.743 に答える