我有一个$ http get方法,它应该调用我的本地服务器。我通过邮递员得到了我的服务器的正确回复。 以下是我的Json值:
[{"id":27885,"bslRef":acms.2016.04.00,"size":0,"isDefault":true,"baselineDate":null,"parentRef":null,"activities":null,"default":true,"open":true,"daily":false}]
作为我感兴趣的值的"bslRef":acms.2016.04.00
不包含在json标签中[""]。
这就是我收到解析错误的原因。 这是我从jsonlint得到的错误。
Error: Parse error on line 3:
...: 27885, "bslRef": acms .2016 .04 .00,
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'
以下是我的angularjs控制器代码:
$http.get('/baseline/getBaseline?', {params: {
currProject: $scope.selectedProject}})
.success(function(data) {
$scope.baselines=JSON.stringify(data);
})
.error(function(data) {
alert("failure");
});
我尝试过使用parse()方法和stringify()方法但没有用。
我的服务器端应用程序是一个spring-mvc rest应用程序,它给了我正确的响应,但是以上述格式。
请帮助我通过角度方法解析这个问题,或者从我的弹簧控制器那里得到一个json类型的响应。 TIA。
答案 0 :(得分:0)
其中一个解决方案是使用函数转换响应对象,以便在返回时处理repsone ...
这可以在角度文档中找到。
$http({
url: '...',
method: 'GET',
//here you get the unparserd response ...
transformResponse: appendTransform($http.defaults.transformResponse,
//you data response comes here ..which you can handle customly
function(data) {
//perform modifications & get data
$scope.baselines = doTransform(data);
})
});
然后您可以根据需要将数据绑定到Html DOM。这是针对单个 get 请求。如果您想在所有地方使用它,请尝试创建服务或工厂。
谢谢,HTH
答案 1 :(得分:0)
问题解决了。实际上在我的基线的pojo类中,我添加了以下Json注释。
$dirs = Get-ChildItem $directory | where {$_.psiscontainer -eq $false}
foreach ($d in $dirs){ python script.py $d "${d}_output.txt";}`
因此,在检索时,我得到了以下类型的响应。
private long id;
@JsonSerialize(as = BaselineRef.class)
@JsonRawValue
private BaselineRef bslRef;
private int size;
@JsonProperty
private boolean isDefault = false;
private boolean isOpen = true;
private boolean isDaily = false;
private String baselineDate;
private BaselineRef parentRef;
private Collection<String> activities;
一旦我删除了注释现在我正在
[{"id":27885,"bslRef":acms.2016.04.00,"size":0,"isDefault":true,"baselineDate":null,"parentRef":null,"activities":null,"default":true,"open":true,"daily":false}].
这是我想要的回应。在这里,我确保BaselineRef具有toString方法。 在这里,我不必解析我的角度代码。谢谢大家的帮助。