public static dynamic GetValue(this JyndData data, JyndItem item) { switch (data.Source[item.Data]) { case '"': return(data.GetText(item)); case '{': return(data.GetObject(item)); case '[': return(data.GetArray(item)); case 'n': return(data.GetNull(item)); case 't': return(data.GetTrue(item)); case 'f': return(data.GetFalse(item)); default: return(data.GetNumber(item)); } }
public static unsafe dynamic GetBigIntegerOrNull(this JyndData data, JyndItem item) { if (data.Source[item.Data] == 'n') { return(data.GetNull(item)); fixed(char *ptr = data.Source) { char *str = ptr + item.Data; int length = item.DataLength; bool signed = *str == '-'; if (signed) { length--; str++; } return(GetNumberAsBigInteger(str, item, signed, length)); } }