0

我在使用 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,"menu":{"MenuStrings":["\u0130ske\u011Fderinovi\u015F","\u015Ea\u011FmiI","\u015Ejikovamo\u011Fvi\u015F"]}} UnityEngine.Debug:Log(对象)本地化:Awake()(位于 Assets/Scripts/Localization.cs:155)

谢谢你的时间。

4

1 回答 1

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

于 2015-10-12T12:01:06.400 回答