在 SSIS 中使用 C# 脚本解析 JSON 字符串
Parse JSON string using C# script in SSIS
我正在使用 SSIS 中的 C# 脚本任务从 CurrencyLayer 检索 USD -> GBP 汇率。我使用了以下代码:
string url = Dts.Variables["User::CurrencyLayerURL"].Value.ToString();
WebClient wc = new WebClient();
var jsonString = wc.DownloadString(url);
要成功检索以下 JSON 字符串:
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"historical":true,
"date":"2015-11-28",
"timestamp":1448755199,
"source":"USD",
"quotes":{
"USDGBP":0.66527
}
}
但是,我现在不确定如何仅检索对应于 "USDGBP" 汇率的 0.66527 值并将其传递给变量。我已经看到许多使用 JSON.net 库的建议,但我无法向该项目添加任何第三方库。任何帮助将不胜感激。
使用 JSON.NET 解析您的 json 对象:
dynamic d = JObject.Parse(jsonString );
Console.WriteLine(d.quotes.USDGBP);
您可以使用 System.Json Namespace
中的 JsonValue
class。
JsonValue value = JsonValue.Parse(jsonString);
var quote = (string)result["quotes"]["USDGBP"];
或者您可以使用 System.Web.Script.Serialization
中的 JavaScriptSerializer
var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<ExpandoObject>(jsonString);
var quote = result.quotes.USDGBP;
或在 Json.Decode
来自 System.Web.Helpers
Var result = Json.Decode(jsonString);
var quote = result.quotes.USDGBP;
您可以使用 JavaScriptSerializer 您可以添加 Syatem.Web.Extensions 命名空间引用。
var serializer = new JavaScriptSerializer();
//Serialize
var serializedResult = serializer.Serialize(Object);
//Deserialize
var deserializedResult = serializer.Deserialize<OutputObjectType>(jsonString);
我正在使用 SSIS 中的 C# 脚本任务从 CurrencyLayer 检索 USD -> GBP 汇率。我使用了以下代码:
string url = Dts.Variables["User::CurrencyLayerURL"].Value.ToString();
WebClient wc = new WebClient();
var jsonString = wc.DownloadString(url);
要成功检索以下 JSON 字符串:
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"historical":true,
"date":"2015-11-28",
"timestamp":1448755199,
"source":"USD",
"quotes":{
"USDGBP":0.66527
}
}
但是,我现在不确定如何仅检索对应于 "USDGBP" 汇率的 0.66527 值并将其传递给变量。我已经看到许多使用 JSON.net 库的建议,但我无法向该项目添加任何第三方库。任何帮助将不胜感激。
使用 JSON.NET 解析您的 json 对象:
dynamic d = JObject.Parse(jsonString );
Console.WriteLine(d.quotes.USDGBP);
您可以使用 System.Json Namespace
中的 JsonValue
class。
JsonValue value = JsonValue.Parse(jsonString);
var quote = (string)result["quotes"]["USDGBP"];
或者您可以使用 System.Web.Script.Serialization
JavaScriptSerializer
var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize<ExpandoObject>(jsonString);
var quote = result.quotes.USDGBP;
或在 Json.Decode
来自 System.Web.Helpers
Var result = Json.Decode(jsonString);
var quote = result.quotes.USDGBP;
您可以使用 JavaScriptSerializer 您可以添加 Syatem.Web.Extensions 命名空间引用。
var serializer = new JavaScriptSerializer();
//Serialize
var serializedResult = serializer.Serialize(Object);
//Deserialize
var deserializedResult = serializer.Deserialize<OutputObjectType>(jsonString);