我正在创建一个函数来获取对象数组并将其保存到Struct中。然后我想将其转换为JSON。
@foreach($doctor->clinics as $clinic)
<form method="POST"
action="{{url('doctors/'.$doctor->id.'/removeclinic/'.$clinic->id)}}"
id="formremoveclinic{{$clinic->id}}">
{{csrf_field()}}
<button class="btn btn-sm btn-danger pull-right">
<span class="glyphicon glyphicon-remove"></span>
</button>
</form>
<p class="text-muted">Clinic {{$i++}}</p>
<p class="text-muted">{{$clinic->address}}</p>
<hr>
<script>
$("#formremoveclinic{{$clinic->id}}").submit(function(e){
$('#loading').show();
e.preventDefault();
$.ajax({
url: "{{url('doctors/'.$doctor->id.'/removeclinic/'.$clinic->id)}}",
type: "DELETE",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
$('#loading').hide();
},
error: function(data){
var errors = data.responseJSON;
console.log(errors);
$('#loading').hide();
}
});
});
</script>
@endforeach
这是结构
func GetCountry(msg string) []byte {
var countries []*countryModel.Country
countries = countryModel.GetAllCountry()
jsResult, err := json.Marshal(countries)
if err != nil {
logger.Error(err, "Failed on GetCountry")
}
return jsResult
}
使用该功能,我得到了这些结果
type Country struct {
Id int `json:"id"`
CountryCode string `json:"country_code"`
CountryName string `json:"country_name"`
PhoneCode string `json:"phone_code"`
Icon string `json:"icon"`
}
如何为该JSON结果添加名为“countries”的键?这些是我所期待的
[
{
"id": 2,
"country_code": "MY",
"country_name": "Malaysia",
"phone_code": "+60",
"icon": "no-data"
},
{
"id": 2,
"country_code": "MY",
"country_name": "Malaysia",
"phone_code": "+60",
"icon": "no-data"
}
]
请帮忙
答案 0 :(得分:1)
你可以创建一个包含一个国家结构数组的包装器结构,在states数组声明之后使用json: "countries"
,然后在包装器上调用json.Marshal。
它看起来像什么:
type CountryWrapper struct {
Countries []*countryModel.Country `json: "countries"`
}
然后,在您的方法中,实例化为CountryWrapper{ Countries: countries }
,并在此对象上调用json.Marshal。