Jason

基于 Go 的 JSON 开发包
授权协议 MIT
开发语言 Google Go
所属分类 Web应用开发、 JSON/BSON开发包
软件类型 开源软件
地区 不详
投 递 者 公冶嘉茂
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Jason 是一个 Go 语言用来处理 JSON 文档的开发包。Jason 的强项是解析 JSON 而不是生成 JSON。

示例代码:

root, err := jason.NewFromReader(res.Body)

root.Get("name").String()
root.Get("age").Number()
root.Get("verified").Boolean()
root.Get("education").Object()
root.Get("friends").Array()

//读取嵌套内容
root.Get("person", "name").String()
root.Get("person", "age").Number()
root.Get("person", "verified").Boolean()
root.Get("person", "education").Object()
root.Get("person", "friends").Array()

//判断数值是否存在
root.Has("person", "name")
root.Get("person", "name").Exists()

//数值校验
root.Get("name").IsString()
root.Get("age").IsNumber()
root.Get("verified").IsBoolean()
root.Get("education").IsObject()
root.Get("friends").IsArray()
root.Get("friends").IsNull()

//循环
for _, friend := range person.Get("friends").Array() {
  name := friend.Get("name").String()
  age := friend.Get("age").Number()
}

完整例子:

package main

import (
  "github.com/antonholmquist/jason"
  "log"
)

func main() {

  exampleJSON := `{
    "name": "Walter White",

    "age": 51,
    "children": [
      "junior",
      "holly"
    ],
    "other": {
      "occupation": "chemist",
      "years": 23
    }
  }j, _ := jason.NewObjectFromBytes([]byte(exampleJSON))  log.Println("name:", j.Get("name").String())
  log.Println("age:", j.Get("age").Number())
  log.Println("occupation:", j.Get("other", "occupation").String())
  log.Println("years:", j.Get("other", "years").Number())
  for i, child := range j.Get("children").Array() {
    log.Printf("child %d: %s", i, child.String())
  }
}
  • JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度, 那么,JSON到底是什么? JSON就是一串字符串 只不过元素会使用特定的符号标注。 双括号{} 表示对象 中括号[]表示数组 双引号“”内是属性或值 冒号: 表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象) 所以 {“name”: “Mic

  •   JSON是 JavaScript Object Notation的简称,是一种轻量的数据表示方法。jason格式采用key:value的方式记录数据,非常直观,比XML简洁,因而大受欢迎   介绍jason格式前,先让我们看看XML格式。显然,XML 得到了相当多的关注(正面和负面的评价都有),已经在 Ajax 应用程序中广泛使用: <request>   <firstName>Brett</

  • JSON.parse用来将JSON字符串反序列化成对象,JSON.stringify用来将对象序列化成JSON字符串。 老版本的浏览器不支持这个对象,但你可以通过json2.js来实现同样的功能。

  • JDJ在JavaOne大会后就有关Java开放源代码中最有争议的问题的主要声明采访了Apache软件基金会副主席Jason Hunter, Jason在JCP中也占据了一个职位。 [alan]:这项声明意味着什么? <jason>:这宣布了Apache和SUN之间关于开发源代码实现Java标准的认同,已经达成的协议条款有: •  从现在开始由SUN领导的技术规范(包括已经存在的规范修订)和已经发布

  • 通过 HttpUtil.post发送请求获得的是一串字符串 String content2 = HttpUtil.post(SystemInitParams.SmsServicePath + “/smsTemplates/getSmsTemplatesAll”,""); eg:字符串[{“id”:1,“name”:“jeck”},{“id”:2,“name”:“lily”}] 将[{“id”:1,

  • 1 String str = "{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"10371443@qq.com\"}"; 2 JSONObject json = JSONObject.fromObject(str); 3 System.out.println(json.getString("name")); 转载于:h

  • 想要生成如下格式jason文件: {   "query": {     "bool": {       "should": [         {"term": {           "staticUrl.keyword": "/text2video/videos/sanguo-jilu/sanguo-01/0.mp4"         }},          {"term": {      

  • Jason是一种数据传输时候的一种格式,类似XML。 package liferay; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.m

  •  注意:JSONObject 和JSONArray的使用区别 报错:A JSONObject text must begin with '{' at character 1 of     分析:  JSONObject json=JSONObject.fromObject(strInput);中的字符串strInput必须是以{开头儿的。 报错:A JSONArray text must star

  • jsp的代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String path = request.getContextPath(); String basePa

  •  jason是代替xml的ajax传递数据的方式:     xml方式与jason方式的对比:     1:jason方式更简单,更容易写     2:处理方式       XML方式:          取回一个XML文件          循环它,从中提取值          处理这些值,等       JSON方式:          取回JSON字符串。          ‘eval’ J

  • 今日考题 """ 今日考题 1.聚合查询,分组查询的关键字各是什么,各有什么特点或者注意事项 2.F与Q查询的功能,他们的导入语句是什么,针对Q有没有其他用法 3.列举常见的数据库字段及主要参数(越多越好) 4.orm数据库查询优化相关有哪些各有什么特点 """ 昨日内容回顾 在学习django orm的时候,最好自己复习一下MySQL相关的知识点,不要造成大面积的遗忘 聚合查询 # 单独使用的

  • 待解析Jason数据 { "msgbody":"[ { \"accountId\":\"1-LNWRUOI\", \"accountIdNumber\":\"3301821984*****626\", \"accountIdType\":\"身份证\", \"accountManager\":null,

 相关资料
  • 这里有一个可以用来开发 Go 的集成开发环境,你期待有以下哪些特性,从而替代你使用文本编辑器写代码和命令行编译与链接程序的方式? 语法高亮是必不可少的功能,这也是每个开发工具都提供配置文件来实现自定义配置的原因。 可以自动保存代码,至少在每次编译前都会保存。 可以显示代码所在的行数。 拥有较好的项目文件纵览和导航能力,可以同时编辑多个源文件并设置书签,能够匹配括号,能够跳转到某个函数或类型的定义部

  • 也搞了eos开发蛮长时间,得写点什么恩,教程嘛,大家都有,就不献丑了,写点开发中遇到的坑吧 首先是环境配置,linux开发是很舒服的,缺少什么关联啊,它都会提示你怎么安装,如果配置中出问题,因为网速或者其他不可抗力出现error的话,恩...把上一个命令重新敲一遍!! 基本就能解决了,反正笔者还没遇到重敲命令不能解决的error...别小看这个error,国内的网速,你电脑的配置,或者网线和猫的爱

  • 本文向大家介绍基于 Docker 开发 NodeJS 应用,包括了基于 Docker 开发 NodeJS 应用的使用技巧和注意事项,需要的朋友参考一下 有关这个 Node 应用 此应用包含一个 package.json, server.js 以及一个 .gitignore 文件, 它们简单到可以信手拈来. .gitignore package.json server.js server.js 会拉

  • 本文向大家介绍ASP开发基于XML的留言板,包括了ASP开发基于XML的留言板的使用技巧和注意事项,需要的朋友参考一下 XML(Extensible Markup Language)是一种基于文本格式的标记语言,它注重对数据结构和数据意义的描述,实现了数据内容和显示样式的分离,而且是与平台无关的。由于XML注重数据内容的描述,因而,对于数据的检索非常有意义,我们不会再象HTML那样,检索出与我们要

  • 本文向大家介绍Spring用AspectJ开发AOP(基于Annotation),包括了Spring用AspectJ开发AOP(基于Annotation)的使用技巧和注意事项,需要的朋友参考一下 基于 Annotation 的声明式 在 Spring 中,尽管使用 XML 配置文件可以实现 AOP 开发,但是如果所有的相关的配置都集中在配置文件中,势必会导致 XML 配置文件过于臃肿,从而给维护和

  • 本文向大家介绍基于豆瓣API+Angular开发的web App,包括了基于豆瓣API+Angular开发的web App的使用技巧和注意事项,需要的朋友参考一下 一、扯淡的说 name:【豆瓣搜索】 最近关注了下豆瓣的API,发现豆瓣开放平台需要加强API文档撰写啊....但是有个可喜的发现豆瓣V2接口提供了搜索接口。最近在用phantom弄些爬虫,想想,真是美丽极了!有个豆瓣的接口,我都不用去