首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在unity3d中使用LitJson

在unity3d中使用LitJson
EN

Stack Overflow用户
提问于 2011-03-09 06:29:12
回答 4查看 11.4K关注 0票数 5

2个问题。

1)在Javascript中编写脚本时,是否可以按原样使用LitJson库?这确实是一个关于能够在javascript源代码中使用c#源代码的一般性问题。

2)我是c#开发的新手。我似乎无法启动并运行LitJson。下面的代码抛出此错误:An object reference is required to access non-static memberLitJson.JsonReader.Read()'`

代码语言:javascript
复制
using UnityEngine;
using System.Collections;

public class Loadr : MonoBehaviour {
string url= "http://developer.echonest.com/api/v4/artist/images?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=0&license=unknown";
void  Start (){
    WWW www = new WWW(url);
    print(www.text);
    Object a = LitJson.JsonReader.Read(www.text);
    print(a.response.status);

    }

}

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-11 06:34:48

我已经看过Unity3D中的一些Json库了。我发现的唯一一个没有奇怪的序列化/反序列化怪癖,并且可以在iOS、WebPlayer和编辑器中一致工作的是JsonFX JsonSerializer 1.4

也就是说,我认为你的问题在于,在使用JsonReader的方法之前,你必须实例化它。

像这样的东西可能会起作用:

代码语言:javascript
复制
var reader = new LitJson.JsonReader();
Object a = reader.Read(www.text);

编辑:

哦,我跳过了你问题的一部分。您应该能够使用UnityScript中的任何托管程序集,就像在C#中一样。您使用import,而不是在using中包含名称空间。此后,除了UnityScript定义类型的方式(var blah : Type = YadaYada();)之外,代码实际上与C#版本完全相同

票数 5
EN

Stack Overflow用户

发布于 2011-03-20 06:00:44

嗯。你试过Jayrock吗?它的代码看起来不错,但没有任何文档可言,作者很满意地让它保持原样。

票数 0
EN

Stack Overflow用户

发布于 2015-01-16 18:53:22

看看Unity3D的LitJSON分支:

实际上,LitJson有一些问题,并不总是像预期的那样工作,所以我创建了一个简单的JSON-Lib,它可以处理所有的Unity3D类型、枚举和任意类。

可在GitHub:Tiny-JSON上找到它

您可以非常简单地使用它:

代码语言:javascript
复制
// encode
Animal a = new Animal(4);
string json = Json.Encode(a);

// decode
IList<Animal> a = Json.Decode<IList<Animal>>("[{\"legs\":4}, {\"legs\":2}]");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5239167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档