Ejemplo n.º 1
0
        private static IDictionary <string, object> ParseObject(string json, ref int index, ref bool success)
        {
            IDictionary <string, object> dictionary = new JsonObject();

            PlayFabSimpleJson.NextToken(json, ref index);
            bool flag = false;

            while (!flag)
            {
                PlayFabSimpleJson.TokenType tokenType = PlayFabSimpleJson.LookAhead(json, index);
                if (tokenType == PlayFabSimpleJson.TokenType.NONE)
                {
                    success = false;
                    return(null);
                }
                if (tokenType == PlayFabSimpleJson.TokenType.COMMA)
                {
                    PlayFabSimpleJson.NextToken(json, ref index);
                }
                else
                {
                    if (tokenType == PlayFabSimpleJson.TokenType.CURLY_CLOSE)
                    {
                        PlayFabSimpleJson.NextToken(json, ref index);
                        return(dictionary);
                    }
                    string key = PlayFabSimpleJson.ParseString(json, ref index, ref success);
                    if (!success)
                    {
                        success = false;
                        return(null);
                    }
                    tokenType = PlayFabSimpleJson.NextToken(json, ref index);
                    if (tokenType != PlayFabSimpleJson.TokenType.COLON)
                    {
                        success = false;
                        return(null);
                    }
                    object value = PlayFabSimpleJson.ParseValue(json, ref index, ref success);
                    if (!success)
                    {
                        success = false;
                        return(null);
                    }
                    dictionary[key] = value;
                }
            }
            return(dictionary);
        }
Ejemplo n.º 2
0
        private static JsonArray ParseArray(string json, ref int index, ref bool success)
        {
            JsonArray jsonArray = new JsonArray();

            PlayFabSimpleJson.NextToken(json, ref index);
            bool flag = false;

            while (!flag)
            {
                PlayFabSimpleJson.TokenType tokenType = PlayFabSimpleJson.LookAhead(json, index);
                if (tokenType == PlayFabSimpleJson.TokenType.NONE)
                {
                    success = false;
                    return(null);
                }
                if (tokenType == PlayFabSimpleJson.TokenType.COMMA)
                {
                    PlayFabSimpleJson.NextToken(json, ref index);
                }
                else
                {
                    if (tokenType == PlayFabSimpleJson.TokenType.SQUARED_CLOSE)
                    {
                        PlayFabSimpleJson.NextToken(json, ref index);
                        break;
                    }
                    object item = PlayFabSimpleJson.ParseValue(json, ref index, ref success);
                    if (!success)
                    {
                        return(null);
                    }
                    jsonArray.Add(item);
                }
            }
            return(jsonArray);
        }