![](/img/trans.png)
[英]How to unmarshal nested json to a struct, if the outer element is not the same in GO
[英]How to deal with a nested struct with the same elements in Go
我一直在為我的一個小項目編寫這段代碼,我想解析一些 JSON 數據,如下所示:
{
"payloads": [
{
"xss": [
{
"payload": "{{RANDSTR}}\"><scRiPT>alert(1)</ScrIPT>{{RANDSTR}}",
"search": "{{RANDSTR}}\"><scRi"
},
{
"payload": "{{RANDSTR}}\"",
"search": "{{RANDSTR}}\""
},
{
"payload": "{{RANDSTR}}'",
"search": "{{RANDSTR}}'"
}
],
"tpli": [
{
"payload": "{{RANDSTR}}${{ {{RANDINT}} * {{RANDINT}} }}",
"search": "{{RANDSTR}}{{RANDINT}}"
},
{
"payload": "{{RANDSTR}}{{ {{RANDINT}} * {{RANDINT}} }}",
"search": "{{RANDSTR}}{{RANDINT}}"
},
{
"payload": "{{RANDSTR}}{! {{RANDINT}} * {{RANDINT}} !}",
"search": "{{RANDSTR}}{{RANDINT}}"
},
{
"payload": "{{RANDSTR}}{% {{RANDINT}} * {{RANDINT}} %}",
"search": "{{RANDSTR}}{{RANDINT}}"
}
]
}
]
}
這是我的結構聲明:
type Payload struct {
Payload []struct {
Payload string `json:"payload"`
Search string `json:"search"`
}
}
type Payloads struct {
Payloads []Payload `json:"payloads"`
}
我知道這不是我應該做的,但我不確定最好的方法。 我不想指定密鑰(xss、tpli 等),因為我想輕松擴展此文件而無需修改 Go 文件。
有人可以指出我如何實現這一目標的正確方向嗎?
提前致謝。
Model 它是這樣的:
type Payloads struct {
Payloads []map[string][]Payload `json:"payloads"`
}
type Payload struct {
Payload string `json:"payload"`
Search string `json:"search"`
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.