Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ ReadJsonValueCore()

override object System.Runtime.Serialization.Json.JsonObjectDataContract.ReadJsonValueCore ( XmlReaderDelegator jsonReader,
XmlObjectSerializerReadContextComplexJson context )
inlinevirtual

Reimplemented from System.Runtime.Serialization.Json.JsonDataContract.

Definition at line 16 of file JsonObjectDataContract.cs.

17 {
18 string attribute = jsonReader.GetAttribute("type");
19 object obj;
20 switch (attribute)
21 {
22 case "null":
23 jsonReader.Skip();
24 obj = null;
25 break;
26 case "boolean":
27 obj = jsonReader.ReadElementContentAsBoolean();
28 break;
29 case "string":
30 case null:
31 obj = jsonReader.ReadElementContentAsString();
32 break;
33 case "number":
34 obj = ParseJsonNumber(jsonReader.ReadElementContentAsString());
35 break;
36 case "object":
37 jsonReader.Skip();
38 obj = new object();
39 break;
40 case "array":
41 return DataContractJsonSerializer.ReadJsonValue(DataContract.GetDataContract(Globals.TypeOfObjectArray), jsonReader, context);
42 default:
43 throw XmlObjectSerializer.CreateSerializationException(System.SR.Format(System.SR.JsonUnexpectedAttributeValue, attribute));
44 }
45 context?.AddNewObject(obj);
46 return obj;
47 }
static object ParseJsonNumber(string value, out TypeCode objectTypeCode)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string JsonUnexpectedAttributeValue
Definition SR.cs:534
Definition SR.cs:7

References System.Runtime.Serialization.XmlObjectSerializerReadContext.AddNewObject(), System.Runtime.Serialization.XmlObjectSerializer.CreateSerializationException(), System.Runtime.Serialization.Dictionary, System.SR.Format(), System.Runtime.Serialization.DataContract.GetDataContract(), System.SR.JsonUnexpectedAttributeValue, System.obj, System.Runtime.Serialization.Json.JsonObjectDataContract.ParseJsonNumber(), System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadJsonValue(), and System.Runtime.Serialization.Globals.TypeOfObjectArray.