我正在使用 http://wiki.unity3d.com/index.php/SimpleJSON 中的 SimpleJSON 脚本
JSONNode root = JSON.Parse ("{ \"Name\" : \"Joe\"}");
Debug.Log (root ["Name"].ToString().Length);
这将返回 5
而不是 3
。这是因为 root ["Name"]
返回的字符串实际上是 "Joe"
(包括引号,所以是 5 个字符)。
但这并不是我真正想要的 - 我在其中放置了引号,因为这是解析器工作的唯一方式。
当然,我可以通过删除一个子字符串来简单地手动删除引号,但我觉得这不是应该的方式。所以我的问题是:如何使用此脚本检索不带引号的字符串 Joe
?
最佳答案
JSONNode
类是抽象类; JSONData
类 ToString()
方法插入引号。见:
public override string ToString ()
{
return "\"" + Escape (m_Data) + "\"";
}
尝试使用 Value
属性:
JSONData root = JSON.Parse("{ \"Name\" : \"Joe\"}");
Debug.Log(root["Name"].Value.Length);
Debug.Log(root["Name"].Value);
关于c# - 使用 Unity 的 SimpleJSON 检索不带引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26210883/