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( Object) Localization: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 に答える