如何将通过 post 订阅的 angular 中的变量存储为 json?
How to store a variable in angular which is being subscribed via post as json?
我有一个像这样的json
[{"id":"1","date":"2020-02-21","status":"present","studentid":"1"},{"id":"2","date":"2020-02-24","status":"present","studentid":"1"}]
如何使用 angular 将日期存储在变量中,该变量被订阅为 http request.I 我无法存储。这是我尝试过的。
date:string=[];
sendPostRequest() {
var options = { headers: new HttpHeaders({ 'Content-Type': 'text/plain' }) };
var count=0;
this.http.post("http://localhost/android/Api.php?apicall=getattendance", this.postData,options).
pipe(map(res => res.results || []))
.subscribe(data => {
this.date=data['date'];
});
请帮助 me.I 我是 angular 的新手。
你的日期是字符串格式,它是一个单一的值,将你的日期变量声明为数组[]你只需要将你的日期声明为字符串变量
日期:字符串='';
要么
日期 = '';
遍历此 json 并将其放入新数组。
const json = [{ "id": "1", "date": "2020-02-21", "status": "present", "studentid": "1" }, { "id": "2", "date": "2020-02-24", "status": "present", "studentid": "1" }];
const date = [];
json.forEach((item) => {
date.push({
date: item.date
})
})
console.log(date);
您收到的响应是一个数组。将您的回复转换为日期。请参考下面的代码,您将从中获取回复日期。
date:string=[];
sendPostRequest() {
var options = { headers: new HttpHeaders({ 'Content-Type': 'text/plain' }) };
var count=0;
this.http.post("http://localhost/android/Api.php?apicall=getattendance", this.postData,options).
pipe(map(res => res.results || []))
.subscribe(data => {
this.date=data.map(ele => ele.date);
});
示例,
const data = [{"id":"1","date":"2020-02-21","status":"present","studentid":"1"},{"id":"2","date":"2020-02-24","status":"present","studentid":"1"}];
const date = data.map(ele => ele.date);
console.log(date);
我认为你的问题与这些已经提出的问题类似。如果你想把它存储在一个变量中,你可以看看这个:
如果您想将其转换为日期格式,请查看:
how to convert current date to YYYY-MM-DD format with angular 2
更新
我认为唯一的问题是没有正确迭代。像这样就好了。
遍历您的响应并将元素推送到您的列表
.subscribe(data => {
data.forEach((item) => {
date.push({
date: item.date
})
})
})
首先了解您的 JSON 的结构。为此,您可以免费使用在线 JSON 解析器:
如果你在结构之后看到你的数据;
[
{
"id": "1",
"date": "2020-02-21",
"status": "present",
"studentid": "1"
},
{
"id": "2",
"date": "2020-02-24",
"status": "present",
"studentid": "1"
}
]
有一个对象数组。所以基本上,你必须遍历数组访问数组的每个索引,然后选择你想要的键值对。
@wsc 回答很好地指出了代码。
您的响应是一组对象。
将日期变量定义为 data:string='';
并尝试 this.date=data[0].date
如果您有任何错误,请更新。
date:string=[];
sendPostRequest() {
var options = { headers: new HttpHeaders({ 'Content-Type': 'text/plain' }) };
var count=0;
this.http.post("http://localhost/android/Api.php?apicall=getattendance", this.postData,options).
pipe(map(res => res.results || []))
.subscribe(data => {
data.forEach(element=>{
this.date.push(element.date);
})
});
我有一个像这样的json
[{"id":"1","date":"2020-02-21","status":"present","studentid":"1"},{"id":"2","date":"2020-02-24","status":"present","studentid":"1"}]
如何使用 angular 将日期存储在变量中,该变量被订阅为 http request.I 我无法存储。这是我尝试过的。
date:string=[];
sendPostRequest() {
var options = { headers: new HttpHeaders({ 'Content-Type': 'text/plain' }) };
var count=0;
this.http.post("http://localhost/android/Api.php?apicall=getattendance", this.postData,options).
pipe(map(res => res.results || []))
.subscribe(data => {
this.date=data['date'];
});
请帮助 me.I 我是 angular 的新手。
你的日期是字符串格式,它是一个单一的值,将你的日期变量声明为数组[]你只需要将你的日期声明为字符串变量
日期:字符串=''; 要么 日期 = '';
遍历此 json 并将其放入新数组。
const json = [{ "id": "1", "date": "2020-02-21", "status": "present", "studentid": "1" }, { "id": "2", "date": "2020-02-24", "status": "present", "studentid": "1" }];
const date = [];
json.forEach((item) => {
date.push({
date: item.date
})
})
console.log(date);
您收到的响应是一个数组。将您的回复转换为日期。请参考下面的代码,您将从中获取回复日期。
date:string=[];
sendPostRequest() {
var options = { headers: new HttpHeaders({ 'Content-Type': 'text/plain' }) };
var count=0;
this.http.post("http://localhost/android/Api.php?apicall=getattendance", this.postData,options).
pipe(map(res => res.results || []))
.subscribe(data => {
this.date=data.map(ele => ele.date);
});
示例,
const data = [{"id":"1","date":"2020-02-21","status":"present","studentid":"1"},{"id":"2","date":"2020-02-24","status":"present","studentid":"1"}];
const date = data.map(ele => ele.date);
console.log(date);
我认为你的问题与这些已经提出的问题类似。如果你想把它存储在一个变量中,你可以看看这个:
如果您想将其转换为日期格式,请查看: how to convert current date to YYYY-MM-DD format with angular 2
更新
我认为唯一的问题是没有正确迭代。像这样就好了。
遍历您的响应并将元素推送到您的列表
.subscribe(data => {
data.forEach((item) => {
date.push({
date: item.date
})
})
})
首先了解您的 JSON 的结构。为此,您可以免费使用在线 JSON 解析器:
如果你在结构之后看到你的数据;
[
{
"id": "1",
"date": "2020-02-21",
"status": "present",
"studentid": "1"
},
{
"id": "2",
"date": "2020-02-24",
"status": "present",
"studentid": "1"
}
]
有一个对象数组。所以基本上,你必须遍历数组访问数组的每个索引,然后选择你想要的键值对。
@wsc 回答很好地指出了代码。
您的响应是一组对象。 将日期变量定义为 data:string='';
并尝试 this.date=data[0].date
如果您有任何错误,请更新。
date:string=[];
sendPostRequest() {
var options = { headers: new HttpHeaders({ 'Content-Type': 'text/plain' }) };
var count=0;
this.http.post("http://localhost/android/Api.php?apicall=getattendance", this.postData,options).
pipe(map(res => res.results || []))
.subscribe(data => {
data.forEach(element=>{
this.date.push(element.date);
})
});