unity3d使用litjson中文显示的问题

unity3d使用litjson中文显示的问题

我们在使用litjson时它的编码方式是unicode的,所以我将json转成string输出时显示的是unicode的编码。这样我们显示或者保存中文时不是很方便。我们可以将中文的unicode转成能识别的GBK编码。

using UnityEngine;
using System.Collections.Generic;
using Utils;
using LitJson;
using System;
using System.Text.RegularExpressions;

public class Script1 : MonoBehaviour
{
    public void OnTestJson()
    {
        JsonData sData = new JsonData();
        JsonData data1 = new JsonData();
        JsonData data2 = new JsonData();

        data1["等级"] = "54";
        data1["位置"] = "m=1000,x=33,y=21";   //新手村

        data2["等级"] = "56";
        data2["位置"] = "m=1001,x=58,y=97";   //桃园镇

        sData["张三"] = data1;
        sData["李四"] = data2;

        string jsonStr = sData.ToJson();

        Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
        var ss = reg.Replace(jsonStr, delegate(Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });


        print(ss);
    }
}