在Spray POST路由中将原始JSON提取为字符串

在Spray POST路由中将原始JSON提取为字符串,json,scala,rest,post,spray,Json,Scala,Rest,Post,Spray,我有一个POST-Spray路由,请求包含一个JSON主体(内容类型为“application/JSON”)。我想要一种在我的路由中从这个请求中提取原始JSON的方法 因为我想将帖子正文提取为TextMsgResponse。但对于我来说,我想将帖子正文提取为原始Json(例如,{“name”:“Jack”,“age”:30} val myRoute = path("somepath" / Segment) { pathSegment => post { //use only POST

我有一个POST-Spray路由,请求包含一个JSON主体(内容类型为“application/JSON”)。我想要一种在我的路由中从这个请求中提取原始JSON的方法

因为我想将帖子正文提取为
TextMsgResponse
。但对于我来说,我想将帖子正文提取为原始Json(例如,
{“name”:“Jack”,“age”:30}

val myRoute = path("somepath" / Segment) { pathSegment => 
post {   //use only POST requests
  pathSegment match {
    case "value1" =>
      entity(as[TextMsgResponse]) { textMsg =>
        complete {
          //do something with the request
          StatusCodes.OK
        }
      } 
    case "value2" => { 
       //here is I want to extract the RAW JSON from the request          
      } 
    }
   }
您可以将该指令用作

def rawJson = extract { _.request.entity.asString} 
    .
    .
    . 
case "value2" => rawJson{ json =>// use the json 
  } 

您是否尝试过
实体(作为[Array[Byte]])
实体(作为[String])
?是的,两者都不起作用。