objx, 用于处理映射,切片,JSON和其他数据的包

分享于 

4分钟阅读

GitHub

  繁體 雙語
Go package for dealing with maps, slices, JSON and other data.
  • 源代码名称:objx
  • 源代码网址:http://www.github.com/stretchr/objx
  • objx源代码文档
  • objx源代码下载
  • Git URL:
    git://www.github.com/stretchr/objx.git
    Git Clone代码到本地:
    git clone http://www.github.com/stretchr/objx
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/stretchr/objx
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Objx

    Build StatusGo Report CardMaintainabilityTest CoverageSourcegraphGoDoc

    Objx - 用于处理映射,切片,JSON和其他数据的包。

    开始:

    概述

    Objx提供了 objx.Map 类型,这是公开了功能强大的方法( 它的他人),它允许你轻松且快速地访问映射中的数据,而不必担心类型断言,缺失数据,默认值等等。

    Pattern

    Objx使用 preditable Pattern 从 map[string]interface{} 轻松访问访问数据。 调用 objx. 函数之一来创建你的objx.Map,以便执行以下操作:

    
    m, err := objx.FromJSON(json)
    
    
    
    

    注意:如果有错误,任何带有 Must 前缀的方法或者函数都会发生恐慌,剩下的就会乐观,并尝试在不惊慌的情况。

    使用 Get 访问你感兴趣的值。 你也可以使用点和 array 表示法:

    
     m.Get("places[0].latlng")
    
    
    
    

    找到 Value 之后,你就可以使用 Is* 方法来确定它的类型。

    
     if m.Get("code").IsStr() {//Your code... }
    
    
    
    

    或者你可以假设类型,并使用强类型方法中的一种来提取实值:

    
    m.Get("code").Int()
    
    
    
    

    如果没有值,那么将返回默认值,或者你可以对缺省值进行明确的处理。

    
     Get("code").Int(-1)
    
    
    
    

    如果你将数据切片作为值处理,Objx为迭代。操作和选择数据提供了许多有用的方法。 你可以通过下面的索引找到更多的信息。

    读取数据

    如何使用Objx的简单示例:

    
    //Use MustFromJSON to make an objx.Map from some JSON
    
    
    m := objx.MustFromJSON(`{"name":"Mat","age": 30}`)
    
    
    
    //Get the details
    
    
    name := m.Get("name").Str()
    
    
    age := m.Get("age").Int()
    
    
    
    //Get their nickname (or use their name if they don't have one)
    
    
    nickname := m.Get("nickname").Str(name)
    
    
    
    

    因为 objx.Map 是一个 map[string]interface{},所以你可以把它当作。 例如要 range 数据,请执行以下操作:

    
    m := objx.MustFromJSON(json)
    
    
    for key, value := range m {
    
    
    //Your code...
    
    
    }
    
    
    
    

    安装

    要安装 Objx,请使用go获取:

    
    go get github.com/stretchr/objx
    
    
    
    

    保持最新

    要将Objx更新为最新版本,请运行:

    
    go get -u github.com/stretchr/objx
    
    
    
    

    支持的转版本

    我们支持最新的两个主要版本,目前的版本是 1.8和 1.9.

    请随意提交问题,fork 存储库和发送请求请求 !


    数据  PAC  PACK  sli  Slice  slices  
    相关文章