private object getJSONNodeValue(JSONNode node) { int intNode = 0; if (int.TryParse(node.Value, out intNode)) { return intNode; } float floatNode = 0.0f; if (float.TryParse(node.Value, out floatNode)) { return floatNode; } double doubleNode = 0.0; if (double.TryParse(node.Value, out doubleNode)) { return doubleNode; } bool boolNode = false; if (bool.TryParse(node.Value, out boolNode)) { return boolNode; } if (node.GetType() == typeof(JSONArray)) { IList<object> nodeList = new List<object>(); foreach (JSONNode nodeInArray in node.AsArray) { nodeList.Add(this.getJSONNodeValue(nodeInArray)); } return nodeList; } if (node.GetType() == typeof(JSONClass)) { IDictionary<string, object> nodeDictionary = new Dictionary<string, object>(); foreach (KeyValuePair<string, JSONNode> kvp in node.AsObject) { nodeDictionary.Add(kvp.Key, this.getJSONNodeValue(kvp.Value)); } return nodeDictionary; } // if the Node isn't one type of int/float/double/bool/list/dictionary, then we should save it as a string return node.ToString(); }
public virtual JSONNode Remove(JSONNode aNode) { return aNode; }
public virtual void Add(JSONNode aItem) { Add("", aItem); }
public virtual void Add(string aKey, JSONNode aItem) { }
public override JSONNode Remove(JSONNode aNode) { try { var item = m_Dict.Where(k => k.Value == aNode).First(); m_Dict.Remove(item.Key); return aNode; } catch { return null; } }
public override void Add(string aKey, JSONNode aItem) { if (!string.IsNullOrEmpty(aKey)) { if (m_Dict.ContainsKey(aKey)) m_Dict[aKey] = aItem; else m_Dict.Add(aKey, aItem); } else m_Dict.Add(Guid.NewGuid().ToString(), aItem); }
public override JSONNode Remove(JSONNode aNode) { m_List.Remove(aNode); return aNode; }
public override void Add(string aKey, JSONNode aItem) { m_List.Add(aItem); }
private void Set(JSONNode aVal) { if (m_Key == null) { m_Node.Add(aVal); } else { m_Node.Add(m_Key, aVal); } m_Node = null; // Be GC friendly. }
public override void Add(string aKey, JSONNode aItem) { var tmp = new JSONClass(); tmp.Add(aKey, aItem); Set(tmp); }
public override void Add(JSONNode aItem) { var tmp = new JSONArray(); tmp.Add(aItem); Set(tmp); }
public JSONLazyCreator(JSONNode aNode, string aKey) { m_Node = aNode; m_Key = aKey; }
public JSONLazyCreator(JSONNode aNode) { m_Node = aNode; m_Key = null; }