登录
首页 >  Golang >  Go问答

使用 std 模板包的 json 对象的前两个值

来源:stackoverflow

时间:2024-03-16 18:36:29 410浏览 收藏

本教程将指导您使用 Go 模板包创建 JSON 对象,并仅返回数据部分的前两个值。我们将提供示例代码和自定义模板函数,以帮助您轻松实现此操作。通过遵循本教程,您将了解如何有效地处理 JSON 数据,并从复杂的响应中提取所需信息。

问题内容

api 的 json 响应是这样的

{
  "ResponseCode": "1",
  "Response": "Data Found",
  "data": [
    {
      "Season": "KHARIF",
      "Sector": "AGRICULTURE",
      "Category": "Cereals",
      "Crop": "Paddy (Dhan)",
      "QueryType": "\tField Preparation\t",
      "QueryText": "top dressing for paddy",
      "KccAns": "top dressing for paddy : apply urea 25kg+SSP 15kg +  neem cake 5kg+MN mixture 5kg mixed with 40kg of sand",
      "StateName": "PUDUCHERRY",
      "DistrictName": "KARAIKAL",
      "BlockName": "KARAIKAL",
      "CreatedOn": "1/5/2014 6:48:09 PM"
    },
    {
      "Season": "KHARIF",
      "Sector": "AGRICULTURE",
      "Category": "Others",
      "Crop": "Others",
      "QueryType": "Weather",
      "QueryText": "weather forecasting details",
      "KccAns": "today no rain",
      "StateName": "PUDUCHERRY",
      "DistrictName": "KARAIKAL",
      "BlockName": "KARAIKAL",
      "CreatedOn": "1/5/2014 9:04:50 PM"
    },
    {
      "Season": "KHARIF",
      "Sector": "AGRICULTURE",
      "Category": "Others",
      "Crop": "Others",
      "QueryType": "0",
      "QueryText": "details about soil testing",
      "KccAns": "contact to agricultural department",
      "StateName": "PUDUCHERRY",
      "DistrictName": "KARAIKAL",
      "BlockName": "KARAIKAL",
      "CreatedOn": "1/8/2014 10:21:18 AM"
    },
    {
      "Season": "KHARIF",
      "Sector": "AGRICULTURE",
      "Category": "Cereals",
      "Crop": "Paddy (Dhan)",
      "QueryType": "Fertilizer Use and Availability",
      "QueryText": "paddy top dressing fertilizer",
      "KccAns": "apply urea 25 kg + potash 15 kg + neem cake 5 kg + microfood 5 kg / ac",
      "StateName": "PUDUCHERRY",
      "DistrictName": "KARAIKAL",
      "BlockName": "KARAIKAL",
      "CreatedOn": "1/12/2014 8:01:45 AM"
    }
  ]
}

我正在尝试编写一个 golang 模板,它仅返回响应对象数据部分中的前两个数据点。这是我目前正在使用的模板 {{range $element := .data}} {{$element}} {{end}},但这会返回 .data 字段中的所有子数据。我怎样才能进行这个锻炼。


解决方案


您可以使用 slice 模板函数来获取前两个元素。示例:

{{$dataSliced := slice .data 0 2}}
{{range $element := $dataSliced}}
    {{$element}}
{{end}}

或者您也可以为切片创建自定义模板函数。

更多关于模板功能:https://golang.org/pkg/text/template

今天关于《使用 std 模板包的 json 对象的前两个值》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>