Help needed in converting string representation of protobuf to JSON/XML

19 views
Skip to first unread message

Kousalya Mathiyazhagun

unread,
Sep 30, 2019, 7:50:53 AM9/30/19
to Protocol Buffers
Hi Team,

I am getting a gNMI subscribe response in str representation of protobuf. I want to create a entity with this data based on YDK models.
Could you please help me in converting below data to pure JSON removing all update/elem/path hierarchy.

Sample data:
update {
timestamp: 1569824857471000000
prefix {
origin: "openconfig-interfaces"
elem {
name: "interfaces"
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-octets"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "out-octets"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-multicast-pkts"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-broadcast-pkts"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "out-multicast-pkts"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "out-broadcast-pkts"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-unknown-protos"
}
}
val {
uint_val: 2482
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-errors"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "out-errors"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-unicast-pkts"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "in-discards"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "out-unicast-pkts"
}
}
val {
uint_val: 0
}
}
update {
path {
elem {
name: "interface"
key {
key: "name"
value: "FourHundredGigE0/0/0/0"
}
}
elem {
name: "state"
}
elem {
name: "counters"
}
elem {
name: "out-discards"
}
}
val {
uint_val: 0
}
}
}

Thanks in advance !!

Regards,
Kousalya
Reply all
Reply to author
Forward
0 new messages