假設我有一個JSON對象,其中包含嵌套對象中的一些屬性。在JSON-LD中註釋嵌套結構/值
{
"title": "My Blog Post",
"meta": {
"publishedAt": "2016-08-01T00:00:00Z"
}
}
有一個簡單的方法,我可以再補充一個@context
我頂層對象達到 這些屬性(即只是「通過」元對象)?沿着 東西這些行:
{
"@context": {
"title": "schema:name",
"meta.publishedAt": {
"@type": "xsd:date",
"@id": "schema:datePublished"
}
},
"@id": "/my-article",
"title": "My Blog Post",
"meta": {
"publishedAt": "2016-08-01T00:00:00Z"
}
}
我想,以避免增加(一式兩份)@id
到嵌套的對象,這是多麼我本來已經解決了這個問題:
{
"@context": {
"title": "schema:name",
"meta": { "@id": "_:meta", "@container": "@set" },
"publishedAt": {
"@type": "xsd:date",
"@id": "schema:datePublished"
}
},
"@id": "/my-article",
"title": "My Blog Post",
"meta": {
"@id": "/my-article",
"publishedAt": "2016-08-01T00:00:00Z"
}
}
該解決方案作品,但需要重複,並且來自ethanresnick's comments on Github關於註釋JSON API。他在another issue中指出,@context
的「表達能力不足以註釋JSON API結構」。至少在這個問題上,我希望證明他是錯的。
如果你簡單地定義了'publishedAt'來看,它會爲所有的情況下工作(但是,你可能想'的xsd:dateTime',不'XSD:日期')。 –
如果你想要做的是吃'元'元素,那麼不,這不能在JSON-LD中完成。 –
@GreggKellogg謝謝!當然你對'xsd:dateTime'說得對。我很難過聽到這個消息。如果你發表你的評論作爲答案,我會把它標記爲接受:) – vicvicvic