在网上好像很少存在关于这方面的资料。只能自己慢慢的尝试。
下面将尝试的代码,发出来。
package xmty;
option java_package = "comcom.xmty.java";
option java_outer_classname = "TestTest";
message People{
required string name = 1;
repeated string list = 2;
message tel{
repeated int32 no = 1;
}
required tel t = 3;
}
以上的.proto配置的内容,对应的js代码如下
if (typeof(xmty)=="undefined") {xmty = {};}
xmty.tel = PROTO.Message("xmty.tel",{
no: {
options: {},
multiplicity: PROTO.repeated,
type: function(){return PROTO.string;},
id: 1
}
});
xmty.People = PROTO.Message("xmty.People",{
name: {
options: {},
multiplicity: PROTO.required,
type: function(){return PROTO.string;},
id: 1
},
list: {
options:{},
multiplicity: PROTO.repeated,
type: function(){return PROTO.string;},
id: 2
},
t:{
options:{},
multiplicity: PROTO.required,
type: function(){return xmty.tel;},
id: 3
}
});
页面使用:
<script type="text/javascript" src="protobuf.js"></script>
<script type="text/javascript" src="pbj.js"></script>
<script type="text/javascript" src="people.proto.js"></script>
<script type="text/javascript">
$(function(){
$.get("test.do",function(data){
var s = new xmty.People();
$("#111").append(data + "<br/>----------------<br />");
s.ParseFromStream(new PROTO.Base64Stream(data));
$("#111").append(s + "<br />------------------<br />");
$("#111").append("name:"+s.name+"<br />---------------------<br />");
for(var i=0;i<s.list.length;i++){
var l = s.list[i];
$("#111").append("list:"+ l + "----- -------------<br />");
}
for(var i=0;i<s.t.no.length;i++ ){
$("#111").append("tel--->"+s.t.no[i]+"---<br />");
}
});
});
</script>
后台数据为:
name: "zms"
list: "list0"
list: "list1"
list: "list2"
list: "list3"
list: "list4"
list: "list5"
list: "list6"
list: "list7"
list: "list8"
list: "list9"
t {
no: "13860132591"
}
经前台脚本之后,显示的内容为:
name: "zms" list: "list0" list: "list1" list: "list2" list: "list3" list: "list4" list: "list5" list: "list6" list: "list7" list: "list8" list: "list9" t { no: "13860132591" }
------------------
name:zms
---------------------
list:list0----- -------------
list:list1----- -------------
list:list2----- -------------
list:list3----- -------------
list:list4----- -------------
list:list5----- -------------
list:list6----- -------------
list:list7----- -------------
list:list8----- -------------
list:list9----- -------------
tel--->13860132591---
分享到:
相关推荐
将.proto文件放入当前目录下并执行pb.bat执行完成后再当前目录下会生成一个pb文件夹,文件夹中生成的.pb文件即我们需要的文件
Mac 下批处理.proto文件生成.lua 的.sh 文件, 在terminal 下执行, 如果出现 Permission denied 问题 先获取权限 控制台输入 chmod 777 protoBuild.sh,最好是建立一个单个的文件夹,将 .sh 文件以及.proto文件放在...
ProtoGen.zip .proto文件转为C#文件
全称是Google Protocol Buffer,Protobuf是一种更小、更快、更简单的结构化数据存储格式,可用于序列化返回数据,目前已经支持生成Java,Python,Objective-C,C++代码。本文将介绍如何将Proto文件编译为Obj-C源码...
caffe.proto文件是一个消息格式文件,后缀名为proto. proto文件即消息协议原型定义文件,在该文件中可以通过使用描述性语言来定义程序中需要用到的数据格式
snsUnread.proto
把.proto文件编译成.py文件的利器!WIN764 VS2015可用!
用于记录文件传输的时间戳,常常被包含在你自己写的proto文件下。
从Go源代码生成.proto文件
freqmod.proto
freqdem.proto
google proto-buf中常被使用的一个计时文件,可能你的proto文件需要使用
由于protobufjs加载.proto文件时需要通过.load的方式,这样子转移.proto文件完全暴露出来,因此想通过webpack工具将.proto文件转成JS对象在编译的时候直接加载 通过protobuf-loader以及proto-loader两个现有的插件...
newapi.proto
caffe.proto中没有UpsampleLayer,因此针对caffe.proto自行添加了upsample layer,可使用protobuf对其进行编译生成caffe_upsample_pb2.py文件
该文档讲述了在windows系统下,如何实现一键从git下载protobuf 3.6.1,编译,最后使用编译工具将.proto文件转换成Java,c#,Python等各种语言的文件,以便进行协议开发
GenerateProto GenerateProto的诞生是因为我...1. 将代码中的注释映射到proto文件中 2. 对更多protobuffer类型和C#的类型进行对应 3. 集成AutoMapper,自动映射类型转换 4. 对内置Attribute的解析、例如:Required之类的
helloworld.proto
modem_dpsk.proto