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

Vol*_*ort 3 c# json unity-game-engine

我正在使用http://wiki.unity3d.com/index.php/SimpleJSON中的SimpleJSON脚本

JSONNode root = JSON.Parse ("{ \"Name\" : \"Joe\"}");
Debug.Log (root ["Name"].ToString().Length);
Run Code Online (Sandbox Code Playgroud)

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

但这并不是我想要的 - 我在那里放置了引号,因为它是解析器工作的唯一方式.

当然我可以通过取出一个子串来手动删除引号,但我觉得这不是它应该如何进行.所以我的问题是:如何Joe使用此脚本检索没有引号的字符串?

小智 6

这个JSONNode班是抽象的; 所述JSONDataToString()方法插入引号.看到:

public override string ToString ()
{
    return "\"" + Escape (m_Data) + "\"";
}
Run Code Online (Sandbox Code Playgroud)

请尝试使用该Value属性:

JSONData root = JSON.Parse("{ \"Name\" : \"Joe\"}");
Debug.Log(root["Name"].Value.Length);
Debug.Log(root["Name"].Value);
Run Code Online (Sandbox Code Playgroud)