我在使用Json.fx反序列化特殊字符时遇到问题。当我尝试序列化像“ğ,ş,ü”这样的字符时,Jsonfx.Serialize和Jsonfx.Deserialize函数无法正常工作。
我尝试为我的应用程序解决本地化问题。请帮帮我。
这是我的课程:
public class Language
{
public int LanguageId;
public Menu menu;
public Language()
{
menu = new Menu();
}
}
public class Menu
{
public List<string> MenuStrings;
public Menu()
{
MenuStrings = new List<string>();
}
}
public class Localization : MonoBehaviour {
public TextAsset LanguageFile;
private List<Language> _languages ;
private void Awake()
{
Language Example = new Language();
Example.LanguageId = 7;
Example.menu.MenuStrings.Add("İskeğderinoviş");
Example.menu.MenuStrings.Add("ŞağmiI");
Example.menu.MenuStrings.Add("Şjikovamoğviş");
Debug.Log(JsonWriter.Serialize(Example));
}
日志消息:
{ “LanguageId”:7, “菜单”:{ “MenuStrings”:[ “\ u0130ske \ u011Fderinovi \ u015F”, “\ u015Ea \ u011FmiI”, “\ u015Ejikovamo \ u011Fvi \ u015F”]}} UnityEngine.Debug:日志(对象) 本地化:Awake()(在Assets / Scripts / Localization.cs:155)
感谢您的时间。
答案 0 :(得分:0)
http://answers.unity3d.com/questions/1077288/jsonfx-deserialize-special-characters.html
什么是不正确的? Json使用Unicode来编码非ASCII字符。例如,\ u011F是ğ的编码。它似乎对我有效。
编辑:以下是Json的语法图: http://www.json.org/fatfree.html。似乎JSON字符串可以 实际的Unicode字母,或\ uNNNN格式。为什么JsonFx正在使用 后者我不知道。也许这是一个设置?