public override JSONNode this[string aKey] { get { return(new JSONLazyCreator(this)); } set { if (value == null) { value = JSONNull.CreateOrGet(); } m_List.Add(value); } }
public override JSONNode this[string aKey] { get { if (m_Dict.TryGetValue(aKey, out var value)) { return(value); } else { return(new JSONLazyCreator(this, aKey)); } } set { if (value == null) { value = JSONNull.CreateOrGet(); } m_Dict[aKey] = value; } }
public override void Add(string aKey, JSONNode aItem) { if (aItem == null) { aItem = JSONNull.CreateOrGet(); } if (aKey != null) { 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 this[int aIndex] { get { if (aIndex < 0 || aIndex >= m_Dict.Count) { return(null); } return(m_Dict.ElementAt(aIndex).Value); } set { if (value == null) { value = JSONNull.CreateOrGet(); } if (aIndex < 0 || aIndex >= m_Dict.Count) { return; } string key = m_Dict.ElementAt(aIndex).Key; m_Dict[key] = value; } }