golang protobuf 枚举值 json 解析
皿小草
2021-06-03 00:44:14
29
现有 protobuf 数据结构
enum Phase {
Pending = 1;
Running = 0;
}
message Status {
Phase status = 1;
}
实际生成代码,对应的类型
type Phase int32
const (
Phase_Pending Phase = 0
Phase_Running Phase = 1
}
但我们希望解析的数据如下
{
"status":"Pending"
}
常规的 encoding/json
包是无法跨类型解析的,因为 json 数据为 string 类型
这个时候就要用到 github.com/golang/protobuf/jsonpb
这个包来解析
f, err := os.Open(path)
if err != nil {
return nil, err
}
json := jsonpb.Unmarshaler{}
wf := &workflow.Workflow{}
err = json.Unmarshal(f, wf)
if err != nil {
return nil, err
}
通过 jsonpb 可以解析 json 到 protobuf 的枚举值
<p>
<strong><span style="font-size:16px;color:#003399;">会用Python分析金融数据 or 金融行业会用Python</span></strong>
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">职场竞争力更高</span></strong>
</p>
<p>
<br />
</p>
<p>
<img src="https://img-bss.csdnimg.cn/202012231042221925.png" alt="" />
</p>
<p>
<br />
</p>
<p>
<br />
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">Python金融数据分析入门到实战</span></strong>
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">Get√金融行业数据分析必备技能</span></strong>
</p>
<p>
<img src="https://img-bss.csdnimg.cn/202012231042438069.png" alt="" />
</p>
<p>
<br />
</p>
<p>
<br />
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">以股票量化交易为应用场景</span></strong>
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">完成技术指标实现的全过程</span></strong>
</p>
<p>
<br />
</p>
<p>
<span style="font-size:14px;">课程选取股票量化交易为应用场景,由股票数据的获取、技术指标的实现,逐步进阶到策略的设计</span><span style="font-size:14px;">和回测,由浅入深、由技术到思维地为同学们讲解Python金融数据分析在股票量化交易中的应用</span><span style="font-size:14px;">。</span>
</p>
<p>
<br />
</p>
<p>
<span style="font-size:14px;"><br />
</span>
</p>
<p>
<img src="https://img-bss.csdnimg.cn/202012231043183686.png" alt="" />
</p>
<p>
<br />
</p>
<p>
<br />
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">以Python为编程语言</span></strong>
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">解锁3大主流数据分析工具</span></strong>
</p>
<p>
<br />
</p>
<p>
<span style="font-size:14px;">Python做金融具有先天优势,课程提取了Python数据分析工具NumPy、Pandas及可视化工具</span><span style="font-size:14px;">Matplotlib的关键点详细讲解,帮助同学掌握数据分析的关键技能。</span>
</p>
<p>
<img src="https://img-bss.csdnimg.cn/202012231043472858.png" alt="" />
</p>
<p>
<strong><span style="font-size:16px;color:#003399;"><br />
</span></strong>
</p>
<p>
<strong><span style="font-size:16px;color:#003399;">2大购课福利</span></strong>
</p>
<p>
<strong><span style="font-size:16px;color:#003399;"><br />
</span></strong>
</p>
<p>
<img src="https://img-bss.csdnimg.cn/202012300628195864.png" alt="" />
</p>