使用Unity';检索不带引号的字符串;s SimpleJSON

本文关键字:字符串 SimpleJSON Unity 检索 使用 | 更新日期: 2023-09-27 18:25:36

我使用的是http://wiki.unity3d.com/index.php/SimpleJSON

JSONNode root = JSON.Parse ("{ '"Name'" : '"Joe'"}");
Debug.Log (root ["Name"].ToString().Length);

这将返回5而不是3。这是因为root ["Name"]返回的字符串实际上是"Joe"(包括引号,所以是5个字符)。

但这并不是我真正想要的——我在其中加了引号,因为这是解析器工作的唯一方式。

当然,我可以通过去掉一个子字符串来手动删除引号,但我觉得这不是应该的。所以我的问题是:如何使用此脚本在没有引号的情况下检索字符串Joe

使用Unity';检索不带引号的字符串;s SimpleJSON

JSONNode类是抽象的;CCD_ 7类CCD_。参见:

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);

使用Value属性,而不是调用ToString()。

JSONNode root = JSON.Parse("{ '"Name'" : '"Joe'"}");
Console.WriteLine(root["Name"].Value);
Console.WriteLine(root["Name"].Value.Length);

输出:

Joe
3