JsonFX Deserializer中的最后一个参数是什么意思?

时间:2014-03-07 00:34:00

标签: c# json deserialization

我看到一个JsonFX Deserialize语句使用了一个我找不到的含义的参数:

JsonFx.Json.JsonReader.Deserialize<TOTmapData>(map.text)

我知道TOTmapData是一个类,但是什么是(map.text)?那是演员?

我用谷歌搜索了它,发现了最后一个参数的许多不同的例子 (回复),(testJson),(sMy)等等。但我找不到任何解释。

2 个答案:

答案 0 :(得分:2)

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;

答案 1 :(得分:0)

因为你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#是一种静态类型的语言,所以任何体面的IDE都应该能够向你展示你很容易接口的API合约。至少,既然JsonFx是开源的,你也可以随时看看幕后发生了什么:

https://code.google.com/p/jsonfx/source/browse/trunk/JsonFx/JsonFx.Json/JsonReader.cs#938