public static ExtractNameFromJson ( string jsonText, string resourceType ) : string | ||
jsonText | string | |
resourceType | string | |
리턴 | string |
public static string ExtractNameFromJson(string jsonText, string resourceType)
{
Dictionary<string, object> jsonKeyValuePairs;
try
{
jsonKeyValuePairs = JsonUtilities.DeserializeJson(jsonText, true);
}
catch (Exception exception)
{
throw new JsonSerializationException(string.Format(CultureInfo.InvariantCulture, Resources.InvalidJson, exception.Message, resourceType));
}
const string NameTagInJson = "Name";
foreach (var key in jsonKeyValuePairs.Keys)
{
if (string.Compare(NameTagInJson, key, StringComparison.OrdinalIgnoreCase) == 0)
{
return (string)jsonKeyValuePairs[key];
}
}
return string.Empty;
}
protected string ResolveResourceName(string rawJsonContent, string nameFromCmdletContext, string resourceType) { string nameExtractedFromJson = DataFactoryCommonUtilities.ExtractNameFromJson(rawJsonContent, resourceType); // Read the name from the JSON content if user didn't provide name with -Name parameter string resolvedResourceName = string.IsNullOrWhiteSpace(nameFromCmdletContext) ? nameExtractedFromJson : nameFromCmdletContext; // Show a message that if names do not match, name specified with -Name parameter will be used. if (string.Compare(resolvedResourceName, nameExtractedFromJson, StringComparison.OrdinalIgnoreCase) != 0) { WriteVerbose(string.Format( CultureInfo.InvariantCulture, Resources.ExtractedNameFromJsonMismatchWarning, resourceType, resolvedResourceName, nameExtractedFromJson)); } return(resolvedResourceName); }