Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
背包系统json库无法使用
不知道叫啥发起了问答2018-07-25
4
回复
645
浏览

siki老师,json我使用的是官网的lightjson,你推荐的那个litjson没了,然后我按照文档上写的没办法读取。

lightjson文档

### Reading a JSON message

In this example, the variable `json` contains the string generated in the previous example.
1
```C#
var menu = JsonValue.Parse(json)["menu"].AsJsonArray;

foreach (var item in menu)
{
    Console.WriteLine(item);
}
```

Console output:

 

我自己的代码

 void ParseItemJson()
    {
        itemlList=new List<Item>();
        TextAsset itemText = Resources.Load<TextAsset>("Items");
        string itemsJson = itemText.text;

        var json = JsonValue.Parse(itemsJson)["json"].AsJsonArray;
        
        foreach (var temp in json)
        {
            Debug.Log(temp);
        }
    }

 

unity报错

JsonParseException: The string ended before a value could be parsed.
LightJson.Serialization.TextScanner.Peek ()
LightJson.Serialization.TextScanner.SkipWhitespace ()
LightJson.Serialization.JsonReader.Parse ()
LightJson.Serialization.JsonReader.Parse (System.String source)
LightJson.JsonValue.Parse (System.String text)
InventoryManager.ParseItemJson () (at Assets/Scripts/InventoryManager.cs:32)
InventoryManager.Start () (at Assets/Scripts/InventoryManager.cs:42)
 

现在没办法进行下一步学习了crying

 

所有回复
  • siki 2018-07-25

    litjson应该是可以用的哈,这个是官网 https://litjson.net/

    json的问题,可以先使用这个网站 https://www.json.cn/  做一下你的json数据的校验,看看有有没有格式问题

    格式没有问题的话,定位到错误行 32和 42行,是哪行代码,输出下这里解析的数据是什么看看

    • 不知道叫啥 2018-07-26

      抱歉老师,我在litjson.net里面没有找到下载的按钮,我可以在哪里下载这个呢?或者有别的解决办法吗,下载其他的推荐的json库?
      我在bejson里面做了校验是通过的,没有格式问题,错误行32是var json = JsonValue.Parse(itemsJson)["json"].AsJsonArray; 这个也是按照文档上面写的。
      错误行42 是void Start()里调用这个方法的代码
      额其实我看到你的视频里面在素材文件夹有放litjson的dll程序及,但是我自己去找好像没找到额

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2018-07-28

    这里是json大部分的插件 http://json.org/

    litjson下载https://github.com/LitJSON/litjson/releases

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!