JsonFx反序列化特殊字符

时间:2015-10-06 11:27:35

标签: json localization jsonfx

我在使用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)

感谢您的时间。

1 个答案:

答案 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正在使用   后者我不知道。也许这是一个设置?