我看到一个JsonFX反序列化语句使用了一个参数,我找不到它的含义:
JsonFx.Json.JsonReader.Deserialize<TOTmapData>(map.text)我知道TOTmapData是一个类,但是(map.text)是什么呢?那是石膏吗?
我用谷歌搜索了一下,找到了最后一个参数的许多不同的例子,比如(response),(testJson),(sMy)等,但我找不到任何关于它到底是什么的解释。
发布于 2014-03-07 08:38:56
Deserialize()是一个函数。map.text只是传递给它的一个参数。您应该在某个地方有一个名为map的对象,并且该对象有一个属性text。您的函数Deserialize()将对此文本执行一些操作。我猜它是一个字符串,可能是一个原始的json,您将把它反序列化为一个TOTmapData对象。
response), (testJson), (sMy)只是其他变量的名称。
我能做到
string s = " *some json for TOTmapData* ".
var totmapdata = JsonFx.Json.JsonReader.Deserialize<TOTmapData>(s);
// here my "s" is a variable like your map.text;发布于 2014-03-08 01:33:00
既然你也使用cross-posted this on the Unity forums,我假设你使用的是JsonFx 1.x或更高版本。此外,JsonFx 2中的方法签名也不同。
正确的答案是,这取决于您使用的是哪个方法重载,但是如果属性名称是map.text,那么它最有可能是接受string的重载。在这种情况下,string是要解析的JSON文本,而T结果是反序列化的对象图:
public static T Deserialize<T>(string value);我对Unity还不够熟悉,不知道那个环境是什么样子的,但是C#是一种静态类型的语言,所以任何一个像样的集成开发环境都应该能够很容易地向你展示你所接触的API契约。至少,由于JsonFx是开放源码的,您可以随时查看幕后发生的事情:
https://code.google.com/p/jsonfx/source/browse/trunk/JsonFx/JsonFx.Json/JsonReader.cs#938
https://stackoverflow.com/questions/22239163
复制相似问题