Go json문자열에서 특정 키의 값 바꾸기

Jmnote (토론 | 기여)님의 2024년 8월 22일 (목) 14:23 판

1 개요

Go json문자열에서 특정 키의 값 바꾸기
package main

import (
	"encoding/json"
	"fmt"
)

func updateKeyValue(data []byte, key, newValue string) ([]byte, error) {
	var m map[string]interface{}
	err := json.Unmarshal(data, &m)
	if err != nil {
		return nil, fmt.Errorf("json unmarshal error: %w", err)
	}

	m[key] = newValue

	return json.Marshal(m)
}

func main() {
	jsonString := `{"name": "John Doe", "age": 30, "city": "New York"}`
	keyToUpdate := "age"
	newValue := "35"

	updatedJson, err := updateKeyValue([]byte(jsonString), keyToUpdate, newValue)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	fmt.Println(string(updatedJson)) // 출력: {"name": "John Doe", "age": "35", "city": "New York"}
}

2 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}