public string GetValueWithKey(string key) { if (string.IsNullOrEmpty(key)) { Debug.LogError("Invalid key."); return(string.Empty); } JsonValueBase valueBase = null; var result = mValues.TryGetValue(key, out valueBase); if (!result) { return(null); } if (valueBase.ValueType == JsonValueType.Object || valueBase.ValueType == JsonValueType.Array) { return(null); } var realValue = (JsonValue)valueBase; return(realValue.GetValue()); }
public JsonArray GetArrayWithKey(string key) { JsonValueBase valueBase = null; var result = mValues.TryGetValue(key, out valueBase); if (!result) { return(null); } if (valueBase.ValueType != JsonValueType.Array) { return(null); } return((JsonArray)valueBase); }
public JsonObject GetObjectWithKey(ref string key) { if (string.IsNullOrEmpty(key)) { Debug.LogError("Invalid key."); return(null); } JsonValueBase valueBase = null; var result = mValues.TryGetValue(key, out valueBase); if (!result) { return(null); } if (valueBase.ValueType != JsonValueType.Object) { return(null); } return((JsonObject)valueBase); }
public static JsonValueBase ParseValueFromReader(ref JsonReader reader) { if (reader == null) { Debug.LogError("Invalid json reader."); return(null); } reader.Read(); JsonValueBase valueBase = null; switch (reader.Token) { case JsonToken.ObjectStart: { JsonObject obj = new JsonObject(); obj.Parse(ref reader); valueBase = obj; } break; case JsonToken.ArrayStart: { JsonArray array = new JsonArray(); array.Parse(ref reader); valueBase = array; } break; case JsonToken.Boolean: { JsonValue value = new JsonValue(JsonValueType.Boolean); value.SetValue(reader.Value.ToString()); valueBase = value; } break; case JsonToken.Double: { JsonValue value = new JsonValue(JsonValueType.Double); value.SetValue(reader.Value.ToString()); valueBase = value; } break; case JsonToken.Int: { JsonValue value = new JsonValue(JsonValueType.Int); value.SetValue(reader.Value.ToString()); valueBase = value; } break; case JsonToken.Long: { JsonValue value = new JsonValue(JsonValueType.Long); value.SetValue(reader.Value.ToString()); valueBase = value; } break; case JsonToken.None: { JsonValue value = new JsonValue(JsonValueType.None); value.SetValue(string.Empty); valueBase = value; } break; case JsonToken.Null: { JsonValue value = new JsonValue(JsonValueType.Null); value.SetValue(string.Empty); valueBase = value; } break; case JsonToken.String: { JsonValue value = new JsonValue(JsonValueType.String); value.SetValue(reader.Value.ToString()); valueBase = value; } break; case JsonToken.ArrayEnd: { valueBase = null; } break; } return(valueBase); }