go语言,使用json时出现了一个

img

package main

import (
    "encoding/json"
    "fmt"
)

type Person struct {
    name  string `json:"name"` // 可导出的私有字段
    age   int    `json:"age"`  // 可导出的私有字段
    email string `json:"-"`    // 排除在 JSON 序列化之外的字段
    add int 'json:abc'
}

func main() {
    p := Person{
        name:  "John",
        age:   30,
        email: "john@example.com",
        add: 1,
    }

    data, err := json.Marshal(p)
    if err != nil {
        fmt.Println("JSON serialization error:", err)
        return
    }

    fmt.Println(string(data))
}


还有一个问题时,为啥两个结构体,一个有提示,一个没有提示,如下2张图

img

img

那块不是 单引号‘,要是 `

type Person struct {
    name  string `json:"name"` // 可导出的私有字段
    age   int    `json:"age"`  // 可导出的私有字段
    email string `json:"-"`    // 排除在 JSON 序列化之外的字段
    add int `json:abc`
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/1042276
  • 你也可以参考下这篇文章:go按行读取多条json到结构体数组
  • 除此之外, 这篇博客: go 语言 生成json字符串数组中的 实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    https://blog.csdn.net/zxy_666/article/details/80173288
  • 您还可以看一下 唐宇迪老师的深度学习-语音识别实战课程中的 制作json标注数据小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    我需要更具体的代码和结构体定义才能针对此问题给出解决方案。 但是,我可以给出一些可能导致这种情况的原因:

    1. 结构体定义存在错误或命名不一致。

    2. 结构体的字段未定义为可导出(也就是首字母大写),因为Go语言中的JSON解析器只能够识别首字母为大写的字段。

    3. 结构体的字段标签未定义为json,即使结构体是可导出的也无法自动提示。

    如果您仍然遇到此问题,请提供完整代码和结构体定义,以便更好地理解和解决问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^