(五)json包的使用

encoding/json

package main

import (
    "encoding/json"
    "fmt"
)

type Movie struct {
    Title  string   "name"
    Year   int      "year"
    Blue   bool     ""
    Actors []string "actor array"
}

func JsonTest() {
    m := new(Movie)
    m.Title = "tom and jerry"
    m.Year = 1992
    m.Blue = false
    m.Actors = []string{"tom", "jerry"}
    fmt.Println(m)

    // json.Marshal
    data, err := json.Marshal(m)
    if err != nil {
        fmt.Println(err.Error())
    }
    fmt.Println(data)
    fmt.Printf("%s\n", data)

    // json.MarshalIndent
    data, err = json.MarshalIndent(m, "", "  ")
    if err != nil {
        fmt.Println(err.Error())
    }
    fmt.Println(data)
    fmt.Printf("%s\n", data)

    // json.Unmarshal
    um := new(Movie)
    if err := json.Unmarshal(data, um); err != nil {
        fmt.Println(err.Error())
    }
    fmt.Println(um)
}

func main() {
    JsonTest()
}

原文地址:https://www.cnblogs.com/walkinginthesun/p/10192768.html

时间: 12-28

(五)json包的使用的相关文章

Golang高性能json包:easyjson

简介 easyjson是什么呢? 根据官网介绍,easyjson是提供高效快速且易用的结构体structs<-->json转换包.easyjson并没有使用反射方式实现,所以性能比其他的json包该4-5倍,比golang 自带的json包快2-3倍. easyjson目标是维持生成去代码简单,以致于它可以轻松地进行优化或固定. 安装 go get -u github.com/mailru/easyjson/go install  github.com/mailru/easyjson/easy

两层嵌套的JSON包的解法

由于后台的变态,有时候会出现两层甚至多层嵌套的JSON包. 一层的很好解,而且我看过一些比较大的网站新闻接口返回的JSON包也仅仅是一层的. 比如下图所示一层的包 代码也很简单直观 dict = [data objectFromJSONData]; // 这里可能会转换失败,还需要接着做判断 _dinnArray = [[NSMutableArray alloc] init]; _dataArray = [dict objectForKey:@"data"]; for (NSDicti

[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) JSON序列化利器 Newtonsoft.Json 及 通用Json类

[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) JSON序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能不了解Json.net(Newtonsoft.Json)这款世界级的开源类库,除了拥有良好的性能之外,功能也是非常强大的. 本节会详细说明这个类库.此外,对于不喜欢使用第三方类库的同学,会整理一个基于微软类库的通用Json类. 读前必备: 本节主要介绍一款第三方类库和一个自己整理封装的类库,说起到封装

安卓里面JSON处理和JAVA SE里面的JSON包

今天编译安卓项目遇到这个问题 com.android.dex.DexException: Multiple dex files define的解决办法 大致意思就是引用了 相同的包 在JAVA SE里面我使用的是 import net.sf.json.JSONObject; 这个就不多说了,网上大家都可以下载到,但是当吧这个jar放到安卓里就出现引用相同的包的问题了 看了下android.jar 里面有个org.json 一样可以处理 问题解决

按条件生成j随机json包:randomjson

前端开发中,在做前后端分离的时候,经常需要手写json数据,有2个问题特别揪心: 1,数据是写死的,不能按一定的条件随机生成长度不一,内容不一的数据 2,写数组的时候,如果有很多条,需要一条一条地写,费时费力 randomjson用来根据模型随机生成json,mock json数据的时候特别有用 github地址: https://github.com/finance-sh/randomjson 如何使用 安装 npm install randomjson 用法    // 引用包    var

java中json包的使用以及字符串,map,list,自定义对象之间的相互转换

做一个map和字符串的转换,需要导入这些jar包,这是最基本的一些jar包. 经过多方尝试得出结论入下: 首先导入基本包:json-lib-2.2.3-jdk15.jar 如果没有这个jar包,程序是写不起来的. 现在保证了程序编译能够通过,跑一下 出现异常:org/apache/commons/lang/exception/NestableRuntimeException 导入commons-lang-2.3.jar,问题解决. 跑一下: 出现异常:java.lang.ClassNotFoun

Maven json包找不到解决办法

在Maven中央仓库找到Maven的jar <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency> 一直加载不进去....解决办法 1.将包下载好后在自己复制到自己的本地的仓库中 2.将这个改为如下 1 <dependency

json需要导入的lib包

要使程序 可以运行 必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:      1.commons-lang.jar      2.commons-beanutils.jar      3.commons-collections.jar      4.commons-logging.jar       5.ezmorph.jar      6.json-lib-2.2.2-jdk15.jar      二.JSONObject对象 使用     JSON-lib包是一个b

python之信用卡ATM(第五天)

本节作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户.用户额度,冻结账户等... 因对本次作业的MVC结构没有思路,故研究分析了王松牛人的作业,现整理如下: 一.作业代码具体说明如下: 一.主程序

json的简单介绍

一.选择的意义 在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.为了更好的使用ajax,我们将学习一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地在应用程序中移动数据和对象.JSON是一种简单的数据交换格式,在某些方面,它的作用与XML非常类似,但比XML更为简单,JSON的语法简化了数据交换的难度,而且提供了一种伪对象的方式. Java的对象 < - >JavaScript对象(json数据格式) 二.J