作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 SimpleJSON对于 Unity3d。我想将 int
添加到 JSONClass
。
例如我需要 json : {"attr": 4}
JSONClass cl = new JSONClass();
我试过这个:
cl["attr"].AsInt = 4;
还有这个:
cl["attr"] = new JSONData(4);
以及任何其他情况。无论如何我得到 {"attr": "4"}
其中 4
是字符串。
如何添加 int
到它?
最佳答案
在目前的实现中这是不可能的。
所以我添加了新类型:
public enum JSONBinaryTag
{
Array = 1,
Class = 2,
Value = 3,
IntValue = 4,
DoubleValue = 5,
BoolValue = 6,
FloatValue = 7,
LongValue = 8,
String = 9, // <-- new
Number = 10 // <-- new
}
并在JSONData中添加类型检查:
public class JSONData : JSONNode{
static Regex m_Regex = new Regex(@"^[0-9]*(?:\.[0-9]*)?$");
private JSONBinaryTag m_Type = JSONBinaryTag.String;
private string m_Data;
public override string Value {
get { return m_Data; }
set { m_Data = value; }
}
public JSONData(string aData){
m_Data = aData;
// check for number
if (m_Regex.IsMatch(m_Data))
m_Type = JSONBinaryTag.Number;
else
m_Type = JSONBinaryTag.String;
}
[...]
}
并更改了toString()
方法:
public override string ToString(){
if (m_Type == JSONBinaryTag.String)
return "\"" + Escape(m_Data) + "\"";
else
return Escape(m_Data);
}
现在 int
、float
、double
将添加为没有 "
的数字。看起来像这个:{"attr": 4}
关于c# - Unity3d SimpleJSON 添加 int 到 JSONClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27648850/
我正在使用 SimpleJSON对于 Unity3d。我想将 int 添加到 JSONClass。 例如我需要 json : {"attr": 4} JSONClass cl = new JSONCl
import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf import play.api.libs.json._
当我运行 mav 测试目标时出现以下错误: A required class was missing while executing org.mule.munit.tools:
我是一名优秀的程序员,十分优秀!