JSON

JSON语法规则:

JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组

JSON 名称/值对:

" name " : " Jhs " //意思就是:name=“Jhs”

JSON值的语法:

JSON 值可以是:

数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null

JSON 对象:

{ " firstName " : " Jhs " , " lastName " : " Doe " }

JSON数组:

{
" employees ": [
{ " firstName " : " John " , " lastName " : " Doe " },
{ " firstName " : " Anna " , " lastName " : " Smith " },
{ " firstName " : " Peter " , " lastName " : " Jones " }
]
}

JavaScript中的JSON转换:

JSON字符串转对象: var obj = JSON.parse(JSON字符串)
对象转JSON字符串: var str = JSON.stringify(对象)

Gson工具类:

jar包:

  • gson-2.8.0.jar
package cn.kgc.utils;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;

import com.google.gson.Gson;

/**
 * Gson工具类
 * @author XY
 *
 */
public class GsonUtils {
	private static Gson gson = new Gson();
	
	/**
	 * 对象序列化为json字符串
	 * @param object
	 * @return
	 */
	public static <T> String objectToJsonStr(T object) {
		return gson.toJson(object);
	}
	
	/**
	 * json字符串解析为List集合
	 * @param args
	 * @return
	 */
	public static <T> List<T> jsonToList(String jsonStr, Type type) {
		return gson.fromJson(jsonStr, type);
	}
	
	/**
	 * json字符串解析为对象
	 * @param jsonStr
	 * @param classOfT
	 * @return
	 */
	public static <T> T jsonStrToObject(String jsonStr, Class<T> classOfT) {
		return gson.fromJson(jsonStr, classOfT);
	}
	
	public static ParameterizedType type(final Class<?> raw, final Type... args) {
		return new ParameterizedType() {
			
			@Override
			public Type getRawType() {
				return raw;
			}
			
			@Override
			public Type getOwnerType() {
				return null;
			}
			
			@Override
			public Type[] getActualTypeArguments() {
				return args;
			}
		};
	}
	
}
jq - commandline JSON processor [version 1.6] Usage: jq-linux64 [options] <jq filter> [file...] jq-linux64 [options] --args <jq filter> [strings...] jq-linux64 [options] --jsonargs <jq filter> [JSON_TEXTS...] jq is a tool for processing JSON inputs, applying the given filter to its JSON text inputs and producing the filter's results as JSON on standard output. The simplest filter is ., which copies jq's input to its output unmodified (except for formatting, but note that IEEE754 is used for number representation internally, with all that that implies). For more advanced filters see the jq(1) manpage ("man jq") and/or https://stedolan.github.io/jq Example: $ echo '{"foo": 0}' | jq . { "foo": 0 } Some of the options include: -c compact instead of pretty-printed output; -n use `null` as the single input value; -e set the exit status code based on the output; -s read (slurp) all inputs into an array; apply filter to it; -r output raw strings, not JSON texts; -R read raw strings, not JSON texts; -C colorize JSON; -M monochrome (don't colorize JSON); -S sort keys of objects on output; --tab use tabs for indentation; --arg a v set variable $a to value <v>; --argjson a v set variable $a to JSON value <v>; --slurpfile a f set variable $a to an array of JSON texts read from <f>; --rawfile a f set variable $a to a string consisting of the contents of <f>; --args remaining arguments are string arguments, not files; --jsonargs remaining arguments are JSON arguments, not files; -- terminates argument processing;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值