[英]Using LitJson in unity3d
2个问题。
1)是否可以在使用Javascript编写脚本时按原样使用LitJson库? 这实际上是一个关于在JavaScript源代码中使用c#源代码的普遍问题。
2)我是C#开发人员的新手。 我似乎无法启动LitJson并使其运行。 以下代码引发此错误: An object reference is required to access non-static member
LitJson.JsonReader.Read()' An object reference is required to access non-static member
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);
}
}
有什么想法吗?
我经历过Unity3D中的一堆Json库。 我发现的唯一一个没有怪异的序列化/反序列化怪癖,并且在iOS,WebPlayer和Editor中都能正常工作的是JsonFX JsonSerializer 1.4 。
就是说,我认为您的问题是必须先实例化JsonReader,然后才能使用它的方法。
这样的事情可能会起作用:
var reader = new LitJson.JsonReader();
Object a = reader.Read(www.text);
编辑:
糟糕,我跳过了部分问题。 您应该能够使用UnityScript中的任何托管程序集,就像C#中一样。 您可以使用import
,而不是在using
中包含名称空间。 之后,代码几乎与C#版本相同,除了var blah : Type = YadaYada();
定义类型的方式( var blah : Type = YadaYada();
)
关于问题
如果要在c#脚本中访问js代码,则应将js代码放入“ Plugins”文件夹,反之亦然。
Object a = LitJson.JsonReader.Read(www.text);
我认为JosnReader不是静态类,您应该实例化一个新的JsonRead Object,然后可以访问Read(string data)mehotd
嗯 你尝试过杰罗克吗? 它的代码看起来还可以,但是没有任何文档可谈,作者很满意能保留这种方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.