解析Json数据时的乱码问题

在使用Litjson解析json数据时,出现了乱码问题,

错误提示如下:

JsonException: Invalid character '' in input string
LitJson.Lexer.NextToken ()
LitJson.JsonReader.ReadToken ()
LitJson.JsonReader.Read ()
LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader)
LitJson.JsonMapper.ToObject[JsonData] (System.String json)

我是使用WWW加载到json文件,然后进行转换成实体类

 WWW www = new WWW(path);//加载Json文件
 if(www.isDone)
 {
     string jsonString = WWW.text;
     JsonData = JsonMapper.ToObject<JsonData>(jsonString);//解析
 }

在转换成JsonData具体的实体类时,发生了上面的错误提示(很头痛)。

首先,数据是解析到的,只是进行转换的过程中,发生了乱码问题,进行了很多尝试,后来发现一种解决问题的方法:

System.Text.UTF8Encoding.GetString(Byte[], Int32, Int32)

首先我们来认识一下这个编码转换的函数:

Type: System.Byte[]

包含要解码的字节序列的字节数组。

Type: System.Int32

第一个要解码的字节的索引。

Type: System.Int32

要解码的字节数。

我们将上述的代码进行稍微的修改就可以了:

 WWW www = new WWW(path);//加载Json文件
 if(www.isDone)
 {
     string jsonString = EncodingUTF8.GetString(www.bytes,3,www.bytes.length-3);
     JsonData = JsonMapper.ToObject<JsonData>(jsonString);//解析
 }

这样就没有什么问题了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值