Microsoft.Azure.Commands.StreamAnalytics.StreamAnalyticsCommonUtilities.ExtractNameFromJson C# (CSharp) 메소드

ExtractNameFromJson() 공개 정적인 메소드

public static ExtractNameFromJson ( string jsonText ) : string
jsonText string
리턴 string
        public static string ExtractNameFromJson(string jsonText)
        {
            Dictionary<string, object> jsonKeyValuePairs;

            try
            {
                jsonKeyValuePairs = JsonUtilities.DeserializeJson(jsonText, true);
            }
            catch (Exception exception)
            {
                throw new JsonSerializationException(string.Format(CultureInfo.InvariantCulture, Resources.InvalidJson, exception.Message));
            }

            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;
        }

Usage Example

        protected string ResolveResourceName(string rawJsonContent, string nameFromCmdletContext, string resourceType)
        {
            string nameExtractedFromJson = StreamAnalyticsCommonUtilities.ExtractNameFromJson(rawJsonContent);

            // 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 name from json is not null or empty and names do not match, name specified with -Name parameter will be used.
            if (!string.IsNullOrEmpty(nameExtractedFromJson) && string.Compare(resolvedResourceName, nameExtractedFromJson, StringComparison.OrdinalIgnoreCase) != 0)
            {
                WriteVerbose(string.Format(
                                 CultureInfo.InvariantCulture,
                                 Resources.ExtractedNameFromJsonMismatchWarning,
                                 resourceType,
                                 resolvedResourceName,
                                 nameExtractedFromJson));
            }

            return(resolvedResourceName);
        }