C# litjson保存json文件 中文显示乱码问题解决办法

未处理前中文显示:"DTWuD_0_4.42_\u7C7B\u578B\u4E0D\u7B26_wuubao"

修改LitJson代码JsonWriter.cs中

private void PutString (string str)

{

    Put (String.Empty);

    writer.Write ('"');

    writer.Write(str);

    writer.Write ('"');

}

修改后显示:"DTWuD_12_(x:2341,y:1389)_(w:73,h:79)_面积:3923.00,得塔值:50_类型不符(DTW试试)_wubao",

 
litjson修改后代码云盘:链接: https://pan.baidu.com/s/1IENpwFjr52aYflprUMsG4Q 提取码:pz2q
 
示例:
 
using LitJson;

StreamWriter sw = new StreamWriter(jsonfile,false, Encoding.GetEncoding("GB2312"));
JsonWriter writer = new JsonWriter(sw);
writer.PrettyPrint = true;
writer.WriteObjectStart();           
writer.WritePropertyName("version"); writer.Write("4.1.4");
writer.WritePropertyName("flags"); writer.WriteObjectStart(); writer.WriteObjectEnd();

writer.WritePropertyName("shapes");
writer.WriteArrayStart();

foreach (Imgdefect imgdefect in Defect)
{
    string str = "";
    str = string.Format("{0}_{1}_(x:{2},y:{3})_(w:{4},h:{5})_面积:{6},得塔值:{7}_{8}({9})_{10}", imgdefect.DefectName, imgdefect.PageNo, imgdefect.XInGold, imgdefect.YInGold,
            imgdefect.DefectW, imgdefect.DefectH, imgdefect.Area.ToString("F2"), imgdefect.Gray,GetlouwuCause(imgdefect), imgdefect.Remark, GetStr(type));
    writer.WriteObjectStart();
    writer.WritePropertyName("label"); writer.Write(str);
    writer.WritePropertyName("points");
    writer.WriteArrayStart();
    writer.WriteArrayStart();
    writer.Write(imgdefect.DefectRect.X);
    writer.Write(imgdefect.DefectRect.Y);
    writer.WriteArrayEnd();
    double x2 = imgdefect.DefectRect.X + imgdefect.DefectRect.Width;
    double Y2 = imgdefect.DefectRect.Y + imgdefect.DefectRect.Height;
    writer.WriteArrayStart();
    writer.Write(x2);
    writer.Write(Y2);
    writer.WriteArrayEnd();
    writer.WriteArrayEnd();
    writer.WritePropertyName("shape_type"); writer.Write("rectangle");
    writer.WritePropertyName("flags"); writer.WriteObjectStart();
    writer.WritePropertyName("Must"); writer.Write(true);
    writer.WritePropertyName("Expect"); writer.Write(false);
    writer.WritePropertyName("Continuous"); writer.Write(imgdefect.IsContinuous);
    writer.WritePropertyName("Serious"); writer.Write(imgdefect.IsSerious);
    writer.WriteObjectEnd();

    writer.WriteObjectEnd();
}

writer.WriteArrayEnd();
{
    writer.WritePropertyName("imagePath"); writer.Write(ImgName);
    writer.WritePropertyName("imageData"); writer.Write(null);
    writer.WritePropertyName("imageHeight"); writer.Write(ImgHeight);
    writer.WritePropertyName("imageWidth"); writer.Write(ImgWidth);
}
writer.WriteObjectEnd();

sw.Flush();
sw.Dispose();
return true;

保存json文件如下

{

    "version" : "4.1.4",

    "flags"   : {

    },

    "shapes"  : [

        {

            "label" : "DTWuD_12_(x:2341,y:1389)_(w:73,h:79)_面积:3923.00,得塔值:50_类型不符(DTW试试)_wubao",

            "points" : [

                [

                    4147.0,

                    172.0

                ],

                [

                    4260.0,

                    271.0

                ]

            ],

            "shape_type" : "rectangle",

            "flags"      : {

                "Must" : true,

                "Expect" : false,

                "Continuous" : false,

                "Serious"    : true

            }

        }

    ],

    "imagePath" : "img_0001.bmp",

    "imageData" : null,

    "imageHeight" : 1000,

    "imageWidth"  : 8192

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值