我试图使用JSON在浏览器和我的应用程序之间发送数据.
我试图使用Lift 1.0来创建和解析JSON字符串,但由于某种原因,我无法解析我刚刚构造的JSON:
scala>import scala.util.parsing.json.JSON._
import scala.util.parsing.json.JSON._
scala> import net.liftweb.http.js._
import net.liftweb.http.js._
scala> import net.liftweb.http.js.JE._
import net.liftweb.http.js.JE._
scala> val json = JsObj(("foo", 4), ("bar", "baz")).toJsCmd
json: String = {'foo': 4, 'bar': 'baz'}
scala> parseFull(json)
res3: Option[Any] = None
Run Code Online (Sandbox Code Playgroud)
如何在Scala/Lift中以编程方式构造有效的JSON消息,还可以再次解析?
如何将Play JSON库(play.api.libs.json
)添加到我的sbt项目中?
当我将以下内容添加到我的plugins.sbt
文件中时:
addSbtPlugin("play" % "sbt-plugin" % "2.1.0")
Run Code Online (Sandbox Code Playgroud)
我遇到了这个错误:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: play#sbt-plugin;2.1.0: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)
我没有找到这个库的解析器,否则我会添加它并运行sbt update
.请注意,我resolvers
包括http://repo.typesafe.com/typesafe/releases/.
我正在使用Scala开发一个简单的Web应用程序.计划是从外部API获取JSON数据,并将其插入到模板中(遗憾的是,以XML格式获取数据不是一种选择).
我曾尝试使用Twitter的scala-json库,但我无法正确编译(github上的代码无法在sbt中更新,说标准项目7.10不可用,我还没有解决这个问题).
lift-json看起来令人印象深刻,但似乎比我现在需要的要复杂得多.
试图导入我使用Java,jsonic的库,导致各种神秘的错误.这太糟糕了,因为我更喜欢简洁的jsonic.
我在内置的scala.util.parsing.json.JSON方面取得了一些进展,但实际上我无法告诉如何访问这些元素.你可能已经注意到了,我对Scala有些新意.如何访问JSONObjects的属性?
scala.util.parsing.json.JSON有很多信息,但有没有关于如何在任何地方使用它的直接教程?
我真的只对目前反序列化JSON,Ints,Strings,Maps和Lists感兴趣.我不需要序列化对象或使反序列化的对象适合当前的类.
任何人都可以指出我使用上述库之一的方法,或者帮助我设置一个可以满足我想要的Java库吗?
我在JavaScript方面很有经验,但对Java很新.在JavaScript中有"对象"数据类型,其中给定变量本质上具有具有其自己唯一值的子变量,例如:
var car = {type:"Fiat", model:500, color:"white"};
Run Code Online (Sandbox Code Playgroud)
它几乎就像一个数组,但并不完全(JavaScript也有数组).我想知道Java中是否存在相同类型的东西?如果是这样,我将如何在Java中声明相同的内容?根据我的搜索,我找不到对象数据类型,但想到也许有类似的东西?
首先,我在Google和StackOverflow上搜索了很多类似的问题,但我没有找到任何有用的答案(令我惊讶的是).
我看到了一些关于Play Framework的东西,如何用Java创建JSON数组以及如何用Java 创建JSON对象,但我不想使用Play Framework,我不知道JSON对象的创建是否与Scala不同.
以下是我想要创建的JSON.稍后我会将对象转换为字符串,以通过POST请求(通过API调用)发送它.
{
"start_relative": {
"value": "5",
"unit": "years"
},
"metrics": [
{
"name": "DP_391366" # S-Temperature - Celsius
},
{
"name": "DP_812682" # Sensor-A4 Luminosity
}
]
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Scala中做类似的事情?
转换它的最快方法是什么?
{"a":"ab","b":"cd","c":"cd","d":"de","e":"ef","f":"fg"}
scala中的可变映射?我从~500MB文件中读取了这个输入字符串.这就是我关注速度的原因.
我正在寻找一个好的json库.我已经体验过lift的json库但是不满意..还看了Play的json库,它看起来不错,但我觉得在我们的项目中混合这么大的库感觉不舒服......
您如何看待在Play免费项目中使用Play的json库?你能推荐一个好的json库吗?