我用springMVC.It一个简单的API编写了一个API,我只是用它来测试JsonProvider。
@ResponseBody
@RequestMapping(value = "/api/test", method = RequestMethod.GET)
public TestClass test(final HttpServletRequest request,
final HttpServletResponse response){
return new TestClass("cc");
}
class TestClass{
public TestClass(){
}
public TestClass(final String name) {
super();
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(final String name) {
this.name = name;
}
}
Severity Code Description Project File Line
Error The type provider 'ProviderImplementation.JsonProvider' reported an error: Cannot read sample JSON from 'http://localhost/api/test': Invalid JSON starting at character 0, snippet =
----
"{\"name\":
-----
json =
------
"{\"name\":\"cc\"}"
------- JsonProcess c:\users\xx\documents\visual studio 2015\Projects\JsonProcess\JsonProcess\Program.fs 8
F#代码:
open FSharp.Data
[<Literal>]
let jsonValue = """
{"name":"cc"}
"""
type JsonData = JsonProvider<"http://localhost/api/test">
[<EntryPoint>]
let main argv =
0 // return an integer exit code
使用字符串文本 json 值
作为示例是可以的。type jsonData = JsonProvider
我检查了FSharp.Data
源代码(它是函数asyncRead
),看看他们是如何下载JSON的。它基本上归结为:
let readString =
async {
let contentTypes = [ HttpContentTypes.Json ]
let headers = [
HttpRequestHeaders.UserAgent ("F# Data JSON Type Provider")
HttpRequestHeaders.Accept (String.concat ", " contentTypes)
]
let! text = Http.AsyncRequestString("http://www.kujiale.com/api/askinvitesearch?query=cc", headers = headers)
return text
}
如果对urlhttp://www.kujiale.com/api/askinvitesearch?query=cc
运行此代码,我们会看到一些关于返回内容的有趣信息:
"[{\"linkToIdeaBook\":\"/u/3FO4K4UR89F1/huabao\",\"linkToDesi
请注意,内容以"
开头,字符串以\
"转义"。因此,JSON文档似乎作为转义的string
返回。根据json.org根对象必须是对象
或数组
,因此解析器在字符0
处失败。
如果切换到内容类型 HttpContenttypes.Text,
它开始如下:
[{"linkToIdeaBook":"/u/3FO4K4UR89F1/huabao","linkToDesignCollect":"/u
这实际上是一个有效的JSON对象。
对我来说有点奇怪的是,如果你请求内容类型为JSON的内容,你会得到一个转义字符串,但这似乎是失败的根本原因。
如何化解就比较难说了。前进的一个方向是与FSharp建立公共关系。允许用户指定用于下载内容的内容类型的数据。
对于简单的定制操作,我们或许可以通过使用layers.core.Lambda层来完成。但对于任何具有可训练权重的定制层,你应该自己来实现。 这里是一个Keras层应该具有的框架结构(1.1.3以后的版本,如果你的版本更旧请升级),要定制自己的层,你需要实现下面三个方法 build(input_shape):这是定义权重的方法,可训练的权应该在这里被加入列表`self.trainable_weigh
对于简单的定制操作,我们或许可以通过使用layers.core.Lambda层来完成。但对于任何具有可训练权重的定制层,你应该自己来实现。 这里是一个Keras2的层应该具有的框架结构(如果你的版本更旧请升级),要定制自己的层,你需要实现下面三个方法 build(input_shape):这是定义权重的方法,可训练的权应该在这里被加入列表`self.trainable_weights中。其他的属性
The Python Imaging Library uses a plug-in model which allows you to add your own decoders to the library, without any changes to the library itself. Such plug-ins usually have names like XxxImagePlugi
对于简单、无状态的自定义操作,你也许可以通过 layers.core.Lambda 层来实现。但是对于那些包含了可训练权重的自定义层,你应该自己实现这种层。 这是一个 Keras 2.0 中,Keras 层的骨架(如果你用的是旧的版本,请更新到新版)。你只需要实现三个方法即可: build(input_shape): 这是你定义权重的地方。这个方法必须设 self.built = True,可以通
我无法正确解析Sylius设置包。我的应用程序是Symfony标准应用程序。根据要求是条令/条令束~1.2 我现在的json:https://gist.github.com/Rvanlaak/f627a73a8d431600f8ba 解析sylius/setation-bundle给我以下错误: 将我的条令/条令包更改为~1。3@dev或1.2。0给出了错误: 在需要sylius/settings
用于记录在你的构建文件的简单方法是将消息写入标准输出.Gradle重定向任何东西写入到标准输出到它的log系统作为QUITE级别的log. 例 17.1.使用标准输出写入log信息 build.gradle println 'A message which is logged at QUIET level' 摇篮还提供了一个logger属性来构建脚本,这是Logger的一个实例.这个接口继承自SL