首次提交
This commit is contained in:
109
Assets/Scripts/Common/Utils/JsonHelper.cs
Normal file
109
Assets/Scripts/Common/Utils/JsonHelper.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NBF
|
||||
{
|
||||
public static class JsonHelper
|
||||
{
|
||||
[Serializable]
|
||||
private class Wrapper<T>
|
||||
{
|
||||
public T[] Items;
|
||||
}
|
||||
|
||||
public static T[] FromJson<T>(string json)
|
||||
{
|
||||
return JsonUtility.FromJson<Wrapper<T>>(json).Items;
|
||||
}
|
||||
|
||||
public static string ToJson<T>(T[] array)
|
||||
{
|
||||
return JsonUtility.ToJson(new Wrapper<T>
|
||||
{
|
||||
Items = array
|
||||
});
|
||||
}
|
||||
|
||||
public static string ToJson<T>(T[] array, bool prettyPrint)
|
||||
{
|
||||
return JsonUtility.ToJson(new Wrapper<T>
|
||||
{
|
||||
Items = array
|
||||
}, prettyPrint);
|
||||
}
|
||||
|
||||
public static string fixJson(string value)
|
||||
{
|
||||
value = "{\"Items\":" + value + "}";
|
||||
return value;
|
||||
}
|
||||
|
||||
public static string fixArrayJson(string value)
|
||||
{
|
||||
value = "{\"Items\":[" + value + "]}";
|
||||
return value;
|
||||
}
|
||||
|
||||
public static int JsonToInt(string target, string s)
|
||||
{
|
||||
return int.Parse(Regex.Split(target, s)[1]);
|
||||
}
|
||||
|
||||
public static float JsonToFloat(string target, string s)
|
||||
{
|
||||
return float.Parse(Regex.Split(target, s)[1]);
|
||||
}
|
||||
|
||||
public static string JsonToString(string target, string s)
|
||||
{
|
||||
return Regex.Split(target, s)[1];
|
||||
}
|
||||
|
||||
public static Vector3 JsonToVecter3(string target)
|
||||
{
|
||||
string[] array = Regex.Split(target, ",");
|
||||
return new Vector3(float.Parse(array[0]), float.Parse(array[1]), float.Parse(array[2]));
|
||||
}
|
||||
|
||||
public static Vector2 JsonToVecter2(string target)
|
||||
{
|
||||
string[] array = Regex.Split(target, ",");
|
||||
return new Vector2(float.Parse(array[0]), float.Parse(array[1]));
|
||||
}
|
||||
|
||||
public static string filterTheOutgoingString(string text)
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (int i = 0; i < text.Length; i++)
|
||||
{
|
||||
if (text[i] == '\\')
|
||||
{
|
||||
stringBuilder.Append('\\');
|
||||
}
|
||||
else if (text[i] == '"')
|
||||
{
|
||||
stringBuilder.Append("\\\"");
|
||||
continue;
|
||||
}
|
||||
|
||||
stringBuilder.Append(text[i]);
|
||||
}
|
||||
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
public static string fixJsonString(string text)
|
||||
{
|
||||
if (text.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
text = text.Remove(0, 1);
|
||||
text = text.Remove(text.Length - 1, 1);
|
||||
return text;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user