Go語言轉(zhuǎn)化php數(shù)組的示例代碼
php程序
$str = <<<EOF
{"操作源":"任意","數(shù)據(jù)庫":"任意","語句類型":"CREATE DATABASE;DROP DATABASE;ALTER DATABASE","影響行數(shù)":"不涉及","告警閾值":"執(zhí)行1次"}
EOF;
$data = [
'title' => '標(biāo)題',
'list' => $str
];
$const = ['operate_account' => '操作源', 'db_name' => '數(shù)據(jù)庫', 'sql_type' => '語句類型', 'rows' => '影響行數(shù)', 'alarm_line' => '告警閾值'];
$data['list'] = json_decode($data['list'], 320);
$newArr2['title']=$data['title'];
foreach ($data['list'] as $key => $v) {
$newArr2['content'][array_search($key,$const)]= $v;
}
dd($data);
dd($newArr2);
function dd($param)
{
echo "<pre>";
print_r($param);
echo "<pre>";
}
轉(zhuǎn)化go語言
package main
import (
"encoding/json"
"github.com/gin-gonic/gin"
)
type Data struct {
Title string `json:"title"`
Content map[string]string `json:"content"`
}
func main() {
r := gin.Default()
// 多行JSON字符串
jsonStr := `{
"操作源": "任意",
"數(shù)據(jù)庫": "任意",
"語句類型": "CREATE DATABASE;DROP DATABASE;ALTER DATABASE",
"影響行數(shù)": "不涉及",
"告警閾值": "執(zhí)行1次"
}`
// 轉(zhuǎn)化為Go結(jié)構(gòu)體
var data map[string]interface{}
if err := json.Unmarshal([]byte(jsonStr), &data); err != nil {
panic("無法解析JSON數(shù)據(jù)")
}
// 定義常量映射
constMap := map[string]string{
"操作源": "operate_account",
"數(shù)據(jù)庫": "db_name",
"語句類型": "sql_type",
"影響行數(shù)": "rows",
"告警閾值": "alarm_line",
}
// 創(chuàng)建新的數(shù)據(jù)結(jié)構(gòu)
var newArr2 Data
newArr2.Title = "標(biāo)題"
// 創(chuàng)建內(nèi)容的映射
newArr2.Content = make(map[string]string)
// 遍歷data中的數(shù)據(jù)
for key, value := range data {
// 查找映射關(guān)系
mappedKey, exists := constMap[key]
//fmt.Println(key, value, exists, constMap["數(shù)據(jù)庫"], mappedKey)
//os.Exit(2232)
if exists {
newArr2.Content[mappedKey] = value.(string)
}
}
r.GET("/data", func(c *gin.Context) {
c.JSON(200, newArr2)
})
r.Run(":8081")
}轉(zhuǎn)化結(jié)果:

到此這篇關(guān)于Go語言轉(zhuǎn)化php數(shù)組的示例代碼的文章就介紹到這了,更多相關(guān)go轉(zhuǎn)化php數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang實(shí)現(xiàn)sql結(jié)果集以json格式輸出的方法
這篇文章主要介紹了golang實(shí)現(xiàn)sql結(jié)果集以json格式輸出的方法,涉及Go語言針對sql結(jié)果集的遍歷、轉(zhuǎn)換及json格式相關(guān)操作技巧,需要的朋友可以參考下2017-03-03
Golang?統(tǒng)計(jì)字符串中數(shù)字字母數(shù)量的實(shí)現(xiàn)方法
這篇文章主要介紹了Golang?統(tǒng)計(jì)字符串中數(shù)字字母數(shù)量,本文給出了兩種從字符串獲取數(shù)字與字母數(shù)量的方法,分別是ASCII 碼值和正則表達(dá)式,需要的朋友可以參考下2022-06-06
使用golang實(shí)現(xiàn)一個(gè)MapReduce的示例代碼
這篇文章主要給大家介紹了關(guān)于如何使用golang實(shí)現(xiàn)一個(gè)MapReduce,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09
使用go實(shí)現(xiàn)常見的數(shù)據(jù)結(jié)構(gòu)
這篇文章主要介紹了使用go實(shí)現(xiàn)常見的數(shù)據(jù)結(jié)構(gòu),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

