首页 > 其他分享 >推荐一款好用的golang修复无效json的库:JSONRepair

推荐一款好用的golang修复无效json的库:JSONRepair

时间:2024-09-10 14:35:48浏览次数:8  
标签:github kaptinlin golang json JSONRepair com jsonrepair

简单来说,就是可以将错误格式(非标准)的json修正,如下图所示:

 

我的json明显不是标准的json格式,是不能被解析的:

 

但是JSONRepair库也能修复。

 

github地址:
https://github.com/kaptinlin/jsonrepair

使用也非常简单:

1、安装:

go get github.com/kaptinlin/jsonrepair

  

2、使用:

package main

import (
  "fmt"
  "log"
  "github.com/kaptinlin/jsonrepair"
)

func main() {
  // The following is invalid JSON: it consists of JSON contents copied from
  // a JavaScript code base, where the keys are missing double quotes,
  // and strings are using single quotes:
  json := "{name: 'John'}"
  repaired, err := jsonrepair.JSONRepair(json)
  if err != nil {
    log.Fatalf("Failed to repair JSON: %v", err)
  }
  fmt.Println(repaired) // '{"name": "John"}'
}

  

JSONRepair库支持的特性:

 

看它的test文件是已经覆盖了很多种异常情况的处理:

 

缺少结束标识的也能自动补上:

 

这篇分享文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

我的微信公众号:【xdub】,欢迎大家订阅,我会同步文章到公众号上。

标签:github,kaptinlin,golang,json,JSONRepair,com,jsonrepair
From: https://www.cnblogs.com/shuinanxun/p/18406362

相关文章

  • golang 合成的图片
    packagepicture_serviceimport( "errors" "github.com/nfnt/resize" "image" "image/draw" "image/jpeg" "image/png" "log" "net/http" "os")typePictureServi......
  • shell请求api,获取json返回值,做判断
    1.shell如何请求api,获取到json返回值:https://www.cnblogs.com/pingguomang/p/184050112.shell如果解析json数据: https://www.cnblogs.com/pingguomang/p/184049963.shell的条件判断:#定义用户的iduser_id="199348"#1.调用api--获取用户数据详细信息response=$(curl......
  • SQL SERVER -- JSON处理
    --JSON 字符串转 行记录Declare@JsonStrNvarchar(Max)='[{"State":0,"Name":"语文","ReMark":"了解国学信息","RepDtl":[{"ID":1,"Age":11},{"ID":2,"Age":12},{"ID&quo......
  • 避坑指南:Golang框架自动化测试中的常见问题与解决方案大全
    在使用Golang框架进行自动化测试的过程中,开发者常常会遇到各种各样的问题。为了帮助大家避免一些常见的坑,我整理了一份详细的避坑指南,希望能对大家的开发工作有所帮助。忽视测试用例的独立性在进行自动化测试时,很多人会犯的一个错误是让测试用例之间产生依赖。比如,测试用例A需......
  • 推荐一个Python流式JSON处理模块:streaming-json-py
    每天,我们的设备、应用程序和服务都在生成大量的数据流,这些数据往往大多是以JSON格式存在的。如何高效地解析和处理这些JSON数据流是一大挑战。今天,我要为大家介绍一个能极大简化这一过程的利器:streaming-json-pystreaming-json-py介绍streaming-json-py是一个专为实时......
  • golang中关于死锁的思考与学习
    1、Golang中死锁的触发条件1.1书上关于死锁的四个必要条件的讲解发生死锁时,线程永远不能完成,系统资源被阻碍使用,以致于阻止了其他作业开始执行。在讨论处理死锁问题的各种方法之前,我们首先深入讨论一下死锁特点。必要条件:如果在一个系统中以下四个条件同时成立,那么就能引起死......
  • json.dumps(data.__dict__) 会把中文字符转义为 Unicode 码点
    在Python中,json.dumps()函数会将Python对象序列化为JSON字符串,并默认使用UTF-8编码来处理非ASCII字符。虽然在Python3中,字符串是默认以Unicode形式存储的,但是当json.dumps()将Python字符串转换为JSON格式时,非ASCII字符会自动被转义为Unicode码点(例如\u......
  • java导入json数据至doris
    表结构字段名称与json key名称一致:packagecom.ruoyi.doris;importcn.hutool.core.io.FileUtil;importcn.hutool.http.HttpRequest;importcn.hutool.http.HttpResponse;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importlomb......
  • 优爱酷酷采系统软件支持批量链接采集可指定深度、资源嗅探支持10大类资源,批量下载短视
    图文详情如何批量嗅探资源采集网页链接?图像音频视频JsCssHtmlJson文档字体压缩其它自动下载链接转换仿站批量格式转换.webP,.avif格式图片下载,优爱酷酷采系统-想采就采把握精彩留住美好下载:UiCool.cn 【优爱酷酷采系统】✅链接:https://www.alipan.com/s/LxDVE3pjN......
  • 【Golang】LeetCode面试经典150题:45. 跳跃游戏 II
    题干:给定一个长度为 n 的 0索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i+j] 处:0<=j<=nums[i] i+j<n返回到达 nums[n-1] 的最小跳跃次数......