Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ UnescapeJsonString()

string System.Runtime.Serialization.Json.XmlJsonReader.UnescapeJsonString ( string val)
inlineprivate

Definition at line 1292 of file XmlJsonReader.cs.

1293 {
1294 if (val == null)
1295 {
1296 return null;
1297 }
1299 int startIndex = 0;
1300 int num = 0;
1301 for (int i = 0; i < val.Length; i++)
1302 {
1303 if (val[i] == '\\')
1304 {
1305 i++;
1306 if (stringBuilder == null)
1307 {
1309 }
1310 stringBuilder.Append(val, startIndex, num);
1311 if (i >= val.Length)
1312 {
1314 }
1315 switch (val[i])
1316 {
1317 case '"':
1318 case '\'':
1319 case '/':
1320 case '\\':
1321 stringBuilder.Append(val[i]);
1322 break;
1323 case 'b':
1324 stringBuilder.Append('\b');
1325 break;
1326 case 'f':
1327 stringBuilder.Append('\f');
1328 break;
1329 case 'n':
1330 stringBuilder.Append('\n');
1331 break;
1332 case 'r':
1333 stringBuilder.Append('\r');
1334 break;
1335 case 't':
1336 stringBuilder.Append('\t');
1337 break;
1338 case 'u':
1339 if (i + 3 >= val.Length)
1340 {
1342 }
1343 stringBuilder.Append(ParseChar(val.Substring(i + 1, 4), NumberStyles.HexNumber));
1344 i += 4;
1345 break;
1346 }
1347 startIndex = i + 1;
1348 num = 0;
1349 }
1350 else
1351 {
1352 num++;
1353 }
1354 }
1355 if (stringBuilder == null)
1356 {
1357 return val;
1358 }
1359 if (num > 0)
1360 {
1361 stringBuilder.Append(val, startIndex, num);
1362 }
1363 return stringBuilder.ToString();
1364 }
static char ParseChar(string value, NumberStyles style)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string JsonEncounteredUnexpectedCharacter
Definition SR.cs:540
Definition SR.cs:7
static void ThrowXmlException(XmlDictionaryReader reader, string res)

References System.Runtime.Serialization.Dictionary, System.SR.Format(), System.SR.JsonEncounteredUnexpectedCharacter, System.Runtime.Serialization.Json.XmlJsonReader.ParseChar(), System.startIndex, System.Xml.XmlExceptionHelper.ThrowXmlException(), and System.Xml.XmlException.

Referenced by System.Runtime.Serialization.Json.XmlJsonReader.GetAttribute(), System.Runtime.Serialization.Json.XmlJsonReader.GetAttribute(), System.Runtime.Serialization.Json.XmlJsonReader.GetAttribute(), System.Runtime.Serialization.Json.XmlJsonReader.GetAttribute(), and System.Runtime.Serialization.Json.XmlJsonReader.ReadValueChunk().