It defines several types of JSON objects and the manner in which they are combined to represent a network: configuration of devices, monitoring data, network topology and routing information.
You can think of NetJSON as a possible common language that libraries and applications can adopt in order to interoperate on different levels. NetJSON does not aim to define how the data is exchanged, it could be exposed via an HTTP API, it could be sent through UDP packets, it could be copied from application A and pasted into application B.
NetJSON does not impose to publish, send or collect sensitive information.
NetJSON only describes how to represent data, each implementer MAY decide:
- which optional members to publish (sensitive data can be omitted)
- how to publish it (public, basic auth, token auth, ecc.)
- how to collect it
- which parts should be collected
The goal is to find a way to output and parse this data in a standard and (possibly) easy way.