![](/img/trans.png)
[英]How get specific Field data by document id from firestore website
[英]How to get data from a specific field in Firestore (Android)
我希望从 firestore 的特定领域获得价值。 下面是我来自 firestore 的样本 json
{
"details":{
"name":"rahul",
"country":"India",
"phone":"1234567890"
},
"course":{
"subject":"cs",
"duration":"6 months"
}
}
我想从“详细信息”字段中获取数据。 我尝试了下面的方法,但没有用
override fun getStudentDetails() = callbackFlow {
val snapshotListener =
db.collection("studentDetails")
.document(Constants.FirestoreCollections.STUDENT_DETAILS_ID)
.collection(Constants.FirestoreCollections.Organisation.STUDENT_DETAILS)
.addSnapshotListener { snapshot, e ->
val taskResponse = if (snapshot != null) {
val tasks = snapshot.toObjects(Details::class.java)
Response.Success(tasks)
} else {
Response.Failure(e)
}
trySend(taskResponse)
}
awaitClose {
snapshotListener.remove()
}
}
有什么办法可以做到这一点?
您的snapshot
object 是一个DocumentSnapshot
。 如果要获取特定字段,可以调用get("details.name")
(或任何其他相关路径)。
要获取您提供的 JSON 数据中特定字段的值,您可以使用点符号来访问该字段。 例如,要获取“name”字段的值,可以使用如下代码:
jsonData.details.name
这将返回值“rahul”。 同样,您可以使用点符号来访问 JSON 数据中的其他字段,例如“国家/地区”或“持续时间”。
例如,要获取“持续时间”字段的值,可以使用以下代码:
jsonData.course.duration
这将返回值“6 个月”。
您还可以使用方括号表示法访问 JSON 数据中的字段。 例如,下面的代码也会返回“name”字段的值:
jsonData['详细信息']['名称']
请记住,JSON 数据中的字段名称区分大小写,因此请确保在访问它们时使用正确的大小写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.