我这样得到Json的反应,
var optCities = [{
"resultData": {
"Hoteloption": [
{
"CityRating":"[
{'City': 'Bangkok','Rating':4.5},
{'City': 'Phuket','Rating':4.5},
{'City': 'Nonthaburi','Rating':4.5},
{'City': 'Broc','Rating':4.5}]"
}]
}}];
我试图创建一个管道
transform(value: any, args?: any): any {
var st = JSON.stringify(value);
var result = JSON.parse(st);
return result;
}
首先尝试创建json对象。
但如果我控制result
变量,它仍会显示字符串。
<div *ngFor="let city of optCities[0].resultData.Hoteloption[0].CityRating | strReplace ;let i = index; ">
{{city.Rating}}
</div>
我缺少什么?
答案 0 :(得分:2)
您的嵌套对象键应该用double qoutes而不是single来包装,最好从后端修复它,这里有一些简单的解决方案,用JS做它
角管
awk '{ if ($3!=$3*1) {print $0 > "REMOVED_COL_3.txt"} else if ($4<0) {print $0 > "REMOVED_COL_4.txt"} else {print $0 > "everythingelse_out.txt"}}' file.txt && mv -f everythingelse_out.txt file.txt
答案 1 :(得分:1)
您从服务器
获取的CityRating数组的JSON不正确这是一个解决方法 在组件中定义函数
switch
在你的模板中使用
Dictionary<string, int>
该函数将返回一个vaild JSON数组,这样你的循环就可以了
答案 2 :(得分:0)
那是因为您的JSON对象是错误的。从CityRating中删除数组中的双引号。
var optCities = [{
"resultData": {
"Hoteloption": [
{
"CityRating":[
{'City': 'Bangkok','Rating':4.5},
{'City': 'Phuket','Rating':4.5},
{'City': 'Nonthaburi','Rating':4.5},
{'City': 'Broc','Rating':4.5}]
}]
}}];
答案 3 :(得分:0)
不确定,但是maube
transform(value: any, args?: any): any {
return JSON.parse(value);
}
如果你的数组真的必须是字符串