未知

idlite的Python项目详细描述


IDLite是正在开发的项目。 无需预告,进行下位互换性的变更。

背景

IDLite,在Unity制作移动在线游戏时,用Unity C#将JSON 是解决使用麻烦的工具。

如果想使用硬的protocol,可以使用protocol buffer、thrift以及msgpack idl 这些不是为了高效地包装数据、{“键”:值}的结构, 因为对排列中的位置有使之有意义,比效率都Web系的休闲的开发风格 在重视的情况下有时很难使用。

JSON schema虽然也有,但是也是很复杂,很难学习。

LitJSON等,有可以轻松处理JSON的C#图书馆, 有反射和genelix有限制的iOS不动的情况。

IDLite是为了满足这个间隙的需求。

样本

IDL

// ドキュメントコメント
// 複数行書けます.
enumColor{red=1,green=2,blue=3};# 無視されるコメント
// ボール
classBall{// ボールの持ち主
string?owner;// ボールの色
enumColorcolor;// 座標
floatx;floaty;};classField{List<Ball>balls;};

生成的代码

// This code is automatically generated.
// Don't edit this file directly.
usingSystem;usingSystem.Collections.Generic;namespaceIDLite{/// <summary>
/// ドキュメントコメント
/// 複数行書けます.
/// </summary>
publicenumColor{red=1,green=2,blue=3}/// <summary>
/// ボール
/// </summary>
        [Serializable]publicpartialclassBall:IDLiteBase{/// <summary>
/// ボールの持ち主
/// </summary>
publicstringowner;/// <summary>
/// ボールの色
/// </summary>
publicColorcolor;/// <summary>
/// 座標
/// </summary>
publicdoublex;publicdoubley;publicBall(stringowner,Colorcolor,doublex,doubley){this.owner=owner;this.color=color;this.x=x;this.y=y;}publicBall(Dictionary<string,object>dict){this.owner=ParseNullableString(GetItem(dict,"owner"));this.color=(Color)ParseInt(GetItem(dict,"color"));this.x=ParseDouble(GetItem(dict,"x"));this.y=ParseDouble(GetItem(dict,"y"));}publicoverridestringToString(){return"Ball(owner="+owner+", color="+color+", x="+x+", y="+y+")";}}
        [Serializable]publicpartialclassField:IDLiteBase{publicList<Ball>balls;publicField(List<Ball>balls){this.balls=balls;}publicField(Dictionary<string,object>dict){this.balls=GetList<Ball>(dict,"balls",(objecto)=>{returnnewBall((Dictionary<string,object>)o);});}publicoverridestringToString(){return"Field(balls="+balls+")";}}}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过jamod读取控制器的输入状态?   java Back bean方法在使用两个h的单一表单时未调用:selectonemenus和command button   mockitojava中的单元测试Mock继承方法   java在不传递到构造函数的情况下,将一个类的实例使用到另一个类中的最佳方法是什么   java Spring MVC:如何通过API在Dozer的toplevel字段中允许空值?   java hibernate到MSSQL服务器的连接被拒绝:连接   java动态调用现有变量   在java中扩展多个类的泛型   java使用JNA Ptrace获取linux中外部进程的信息?   eclipse获取Java项目中所有构建错误的最快方法是什么?   java将动态数组拆分为多个数组   java安卓:将json保存到sqlite   java获取最近时间Android   java如何为多对多关联编写HQL查询?   java Docker compose for mysql和spring应用程序拒绝访问   java查找数组(如果它是另一个数组的子集)   java如何在另一个具有相同数据类型参数的泛型类(或接口)中使用泛型类(或接口),而无需强制转换   Apache POI java。lang.NoClassDefFoundError:org/apache/commons/compress/utils/InputStreamStatistics   java使用Jackson将JSON反序列化为异构元素列表   使用MapReduce实现java规范化