把things的item数组解析成一个json.RawMessage,然后再定义其他结构逐步解析。上述这些例子其实在真实的开发环境下,应该尽量避免。像person或是place这样的数据,可以定义两个数组分别存储他们,这样就方便很多。不管怎么样,通过这个略傻的例子,我们也知道了如何解析json数据。
总结关于golang解析json的介绍基本就这么多。想要解析越简单,就需要定义越明确的map结构。面对无法确定的数据结构或类型,再动态解析方面可以借助接口与断言的方式解析,也可以使用json.RawMessage延迟解析。具体使用情况,还得考虑实际的需求和应用场景。
总而言之,使用json作为现在api的数据通信方式已经很普遍了。我们从启动服务,构造请求,解析请求,渲染模板,持久化到现在的json解析,涉及一个request-response生命周期的介绍完整了。
接下来自然就是利用这些,构建一个简单的web应用。当然,我们可能根据需要,构建不同的应用。