From 80493adfa7dce2067bf68637e24a08b017fbb9cf Mon Sep 17 00:00:00 2001 From: xushuntao Date: Fri, 5 Apr 2013 11:14:30 +0800 Subject: [PATCH] Update 07.2.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改语义不通顺。 --- ebook/07.2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebook/07.2.md b/ebook/07.2.md index cf38146d..ffde04df 100644 --- a/ebook/07.2.md +++ b/ebook/07.2.md @@ -38,13 +38,13 @@ JSON(Javascript Object Notation)是一种轻量级的数据交换语言, fmt.Println(s) } -通在上面的示例代码中,我们首先定义了与json数据对应的结构体,数组对应slice,字段名对应JSON里面的KEY,在解析的时候,如何将json数据与struct字段相匹配呢?例如JSON的key是`Foo`,那么怎么找对应的字段呢? +在上面的示例代码中,我们首先定义了与json数据对应的结构体,数组对应slice,字段名对应JSON里面的KEY,在解析的时候,如何将json数据与struct字段相匹配呢?例如JSON的key是`Foo`,那么怎么找对应的字段呢? - 首先查找tag含有`Foo`的可导出的struct字段(首字母大写) - 其次查找字段名是`Foo`的导出字段 - 最后查找类似`FOO`或者`FoO`这样的除了首字母之外其他大小写不敏感的导出字段 -聪明的你一定注意到了这一点:能够被赋值的字段必须是可导出字段(即首字母大写)。同时JSON解析的时候只会解析能找得到的字段,如果找不到的字段会被忽略,这样的一个好处是:当你接收到一个很大的JSON数据结构而你却只想获取其中的部分数据的时候,你只需将你想要的数据对应的字段名大写,即可轻松解决这个问题。 +聪明的你一定注意到了这一点:能够被赋值的字段必须是可导出字段(即首字母大写)。同时JSON解析的时候只会解析能找得到的字段,找不到的字段会被忽略,这样的一个好处是:当你接收到一个很大的JSON数据结构而你却只想获取其中的部分数据的时候,你只需将你想要的数据对应的字段名大写,即可轻松解决这个问题。 ### 解析到interface 上面那种解析方式是在我们知晓被解析的JSON数据的结构的前提下采取的方案,如果我们不知道被解析的数据的格式,又应该如何来解析呢?