https://github.com/donnie4w/json4g
golang 的 json处理库
json4g 提供了json的简便处理方法
方法介绍
1,LoadByString(string) 参数为json字符串,返回 JsonNode 对象指针
2,NowJsonNode(string,interface{}) 参数节点名
3,NowJsonNodeByString(string,string) 参数 json字符串 如: {"a":"b","c":123}
4,AddNode(*JsonNode) 为某节点增加子节点
5,DelNode(string) 某节点 删除指定名称子节点
6,ToJsonNode() 转JsonNode 指针对象
7,SetValue() 节点设置 节点值,可以为 数字,字符串,bool值,数组
8,GetNodeByPath(string) 通过路径查询 节点 如: {"a":{"b":{"c":123,"d":true}}} 节点c对象GetNodeByPath("a.b.c")
9,GetNodeByName(string) 通过节点名 查询 节点对象
10,ToString() JsonNode对象转换为字符串
具体操作请参考 测试类 json4g_test.go
部分方法示例:
jsonStr := `{"STRING": "abcd","NUMBER":123456,"BOOL":false,"STRUCT":{"a":{"b":12345}},"array":["a","b","c"]}`
node, err := LoadByString(jsonStr)
if err == nil {
jnode := node.GetNodeByPath("STRUCT.a.b")
fmt.Println("STRUCT.a.b>>>>>>>", jnode.ValueNumber)
}
node.DelNode("NUMBER") //删除
node.AddNode(NowJsonNode("name", "value")) //增加
node.ToString() // 转化为字符串
https://github.com/donnie4w/dom4g
golang 的xml处理库
dom4g提供xml简便的操作方法,如节点 增加,删除,查询,属性增加,修改,删除,查询等功能
方法简单介绍:
导入xml文档:返回Element指针
1,LoadByStream
2,LoadByXml 参数为字符串
创建节点
1,LoadByStream
2,LoadByXml
3,NewElement 返回指定名字与值的Element指针
转字符串输出
1,ToString 当前节点xml字符串
2,ToXml 整个文档xml字符串
3,SyncToXml 输出整个文档xml字符串,为同步方法,加锁对所有节点都会起作用
4,DocLength 整个文档的节点数
获取节点名字,值,属性
1,获取Element的Name(),Value,Attrs(属性集合)
属性操作
1,AttrValue 返回指定名字的属性的值
2,AddAttr 给当前节点增加一个指定名字与值的属性
3,RemoveAttr 删除指定名字的属性
子节点操作
1,Node 返回指定名字的Element子节点
2,Nodes 返回指定名字的Element 集合
3,NodesLength 返回子节点个数
4,AllNodes 返回所有子节点集合
5,RemoveNode 删除指定名字的子节点(可能有多个相同名字的节点,将都被删除)
6,AddNode 增加一个子节点
7,AddNodeByString 增加一个子节点,参数为字符串如:<a>b</a> 结构需为xml结构
获取父节点
1,Parent 返回父节点Element指针,若当前节点为根节点,则返回nil
具体操作可以见测试文件dom_test.go