我有一个简单的文本文件,其中包含简单的电子邮件字符串,例如:
email1@example.com
email2@example.com
email3@example.com
email4@example.com
我希望能够通过我的REST
api将此文件的内容作为json响应返回,这是一个简单的GET
请求。
有没有办法我可以逐行读取文件(我可以这样做)并附加到JSON对象,以便我可以轻松地在网页上呈现内容。
{
"emails": [
"email1@example.com",
"email2@example.com",
"email3@example.com",
"email4@example.com"
]
}
我希望我的REST
API看起来像:
(GET "/emails" [] {
"emails": [
"email1@example.com",
"email2@example.com",
"email3@example.com",
"email4@example.com"
]
})
但我想根据请求呈现JSON,因为文件可以修改。
答案 0 :(得分:1)
您可以使用以下内容:
(GET "/emails" []
(clojure.pprint/cl-format nil
"{\"emails\": [~{~S~^,~}]}"
(clojure.string/split-lines (slurp "/path/to/addresses.txt"))))
答案 1 :(得分:0)
(GET "/emails" []
(generate-string {:emails (clojure.string/split-lines (slurp "/path/to/file"))} {:pretty true}))