草庐IT

map_region

全部标签

json - 如何将 map[string]interface{} 转换为不同类型的结构?

我正在调用一个API,它将像这样返回Json对象:{name:"XXX"type:"TYPE_1"shared_fields:{...}type_1_fields:{...}..type_2_fields:{...}}根据不同的类型,这个对象会有不同种类的字段,但是这些字段对于不同的类型是一定的。因此,我将Json字符串解码为map[string]interface{}以获取不同的类型,但是如何将这些map[string]interface{}转换为某个结构?varfmap[string]interface{}err:=json.Unmarshal(b,&f)type:=f["type

戈朗 : How can I populate a multi-struct map in a loop?

我有客户与API交互的日志文件。我想解析这些日志并将结果提供给结构映射,以便我可以将数据组织成有用的信息。例如,我想响应以下查询:“显示每个用户每天的请求总数”。我已经创建了一个看起来足够的结构来保存数据。但是,当我尝试运行程序时出现错误:无效操作:dates[fields[1]](type*Dates不支持索引)[processexitedwithnon-zerostatus]。http://play.golang.org/p/8u3jX26kttpackagemainimport("fmt""strings")typeStatsstruct{totalNumberOfRequest

dictionary - 迭代并从 map 中获取值

我有一些JSON数据,我已将其解编到名为data_json的map中。它包含数百个项目。使用以下代码,我可以成功检索map中其中一项的“dn”值,但是我正在努力如何遍历整个结构以获取map中所有项目的“dn”值map。objects:=data_json["data"].([]interface{})first:=objects[0].(map[string]interface{})fmt.Println(first["dn"])我尝试过这种方法,但我对应该如何构造键和值感到困惑。forv,k:=rangekeys{fmt.Println("Key:",k,"Value:",m[k])

arrays - 如何从 go map 对象访问深度嵌入的 json 对象?

我是新手,我了解如何将json数据编码为自定义预定义结构类型,但我目前正在使用一个JSON集,它可以在每次调用时具有动态键和值。我可以将这些动态数据编码到map/界面中,没问题,但我对如何访问深度嵌套在数组中的项目有点迷茫。这是我在USDOL网站上使用的示例JSON{"name":"osha-establishment","count":15,"frequency":"ManualCrawl","version":4,"newdata":true,"lastrunstatus":"success","lastsuccess":"MonDec08201411:19:57GMT+0000(

json - 如何在 go lang 中对 map[string]interface{} 类型进行多重排序?

场景:假设我有一个JSON数据要在golang中处理现在我正在使用map[string]interface{}类型,通过执行marshal/unmarshal使用packageencoding/json下面是JSON数据:{"MysoreCity":{"Population":1000,"VehicleCount":1700,"Temperature":33},"BangaloreCity":{"Population":1000,"VehicleCount":3500,"Temperature":33},"KolarCity":{"Population":1250,"VehicleCo

json - 如何以 json 格式显示 map 中的所有数据 - Golang?

我正在golang中创建一个API,它将简单地以json格式显示map中的所有数据。端点:/keystypeUserControllerstruct{}//NewUserControllerfunctionfuncNewUserController()*UserController{return&UserController{}}//DatastructtypeDatastruct{Datakeyint`json:"key"`Datavaluestring`json:"value"`}vardatamap=make(map[int]string)func(ucUserControlle

json - Go:如何json.Marshal map[int]int?

我知道,Json不支持除键字符串以外的任何其他内容。但是将整个map[int]int转换为临时map[string]int并不总是可行的,因为第二个不适合内存。有没有一种方法可以动态转换int键?是否有任何带有int键的类似json的格式?山药?某种二进制格式? 最佳答案 不,您不能即时转换map。在填充新map之前,您需要拥有原始map(然后可以将其删除)。第一个问题你必须问自己:你打算用那个json做什么,因为现代计算机有很多RAM,所以即使存储4gb也不是问题(我非常怀疑你要发送4gbjson请求)。一旦您知道为什么要对您的内

go - 转换 map 类型

我正在尝试编写一个通用函数来获取map的键,如下所示:funcMapKeys(theMapmap[interface{}]interface{})([]interface{},error){iftheMap==nil{returnnil,errors.New("MapKeysargisnil")}varkeys=make([]interface{},len(theMap),len(theMap))i:=0foridx,_:=rangetheMap{keys[i]=idxi++}returnkeys,nil}A)有更好的方法吗?和B)调用此函数时,如何将原始map类型转换为map[int

go - 如何检索嵌套的 map 值

我想扫描AWSDynamoDB表,然后只提取某个值。这是我的代码:packagemainimport("fmt""github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/dynamodb")funcmain(){svc:=dynamodb.New(session.New(),&aws.Config{Region:aws.String("us-west-2")})params:=&dynamodb.ScanInput{TableName:

MongoDB,戈朗。我可以在不将数据加载到内存的情况下对 slice/ map 进行计数吗?

在我的收藏实验室中,我有:{"_id":ObjectId("57e602ada35ea4db6e4eee27"),"areas":["nanotech","robotics"]}我的查询是:db.labs.find({"_id":ObjectId("57e602ada35ea4db6e4eee27")},{areas:1})我想要的是对slice中的元素进行计数而不是检索整个slice,有人知道吗?我使用的是mgo包,它与golang有很好的对应关系。谢谢 最佳答案 db.labs.aggregate([{$match:{"_id"