我正在做一些非常基本的JSON操作来学习一些Go,并且它有效,除了一件事似乎关闭,我必须编写分配.(map[string]interface{})和.([]interface{})访问JSON中的条目,特别是如果它们是孩子的孩子等等.
看到这里(也在Go Playground:https://play.golang.org/p/Wd-pzHqTsU):
package main
import (
"fmt"
"encoding/json"
)
func main() {
JSON := []byte(`{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]}`)
fmt.Printf("%s\n", JSON)
var d map[string]interface{}
json.Unmarshal(JSON, &d)
fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])
d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"] = "change1"
fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])
JSON, _ = json.Marshal(d)
fmt.Printf("%s\n", JSON)
}
Run Code Online (Sandbox Code Playgroud)
哪个回报:
{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"c3val1"}}]}
c3val1
change1
{"key1":"val1","key2":{"c1key1":"c1val1"},"key3":[{"c2key1":{"c3key1":"change1"}}]}
Run Code Online (Sandbox Code Playgroud)
现在在Python中我只是直接访问键/值而不是定义我每次访问的类型,而不是fmt.Println(d["key3"].([]interface{})[0].(map[string]interface{})["c2key1"].(map[string]interface{})["c3key1"])你做的print d["key3"][0]["c2key1"]["c3key1"]
Python示例:
import json
JSON = '{"key3": [{"c2key1": {"c3key1": "c3val1"}}], "key2": {"c1key1": "c1val1"}, "key1": "val1"}'
print JSON
d = json.loads(JSON)
print d["key3"][0]["c2key1"]["c3key1"]
d["key3"][0]["c2key1"]["c3key1"] = "change1"
print d["key3"][0]["c2key1"]["c3key1"]
JSON …Run Code Online (Sandbox Code Playgroud) 所以我在下面有我的构建脚本,一切都运行得很好,除非我保存的文件不是我的app.scss文件,而是导入到该文件中的sass任务,该任务不会运行.所以我的大口观察正在观看,但不是我猜的所有文件.不知道如何解决这个问题.我以为我指定使用"/*.scss"观看所有文件
我会喜欢这方面的帮助.
谢谢!
gulpfile.js
// Include gulp
var gulp = require('gulp');
// Include Our Plugins
var jshint = require('gulp-jshint');
var sass = require('gulp-sass');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var browserSync = require('browser-sync');
var reload = browserSync.reload;
var sassOptions = {
errLogToConsole: true,
outputStyle: 'compressed',
includePaths: ['bower_components/foundation-sites/scss', 'bower_components/motion-ui/src']
};
// Set the proxy.
gulp.task('browser-sync', function () {
browserSync({
proxy: "localhost:8000/wozencraftinsurance.dev/"
});
});
// Lint Task
gulp.task('lint', function() {
return gulp.src('js/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default')); …Run Code Online (Sandbox Code Playgroud) 我正在尝试tm通过text2vecLDA 实现从-package运行 AssociatedPress 数据集。
我面临的问题是数据类型的不兼容:AssociatedPressis atm::DocumentTermMatrix又是slam::simple_triplet_matrix. text2vec然而期望输入x 到text2vec::lda$fit_transform(x = ...)要Matrix::dgTMatrix。
因此,我的问题是:有没有办法强制DocumentTermMatrix接受text2vec?
最小(失败)示例:
library('tm')
library('text2vec')
data("AssociatedPress", package="topicmodels")
dtm <- AssociatedPress[1:10, ]
lda_model = LDA$new(
n_topics = 10,
doc_topic_prior = 0.1,
topic_word_prior = 0.01
)
doc_topic_distr =
lda_model$fit_transform(
x = dtm,
n_iter = 1000,
convergence_tol = 0.001,
n_check_convergence = 25,
progressbar = FALSE
)
Run Code Online (Sandbox Code Playgroud)
...这使:
base::rowSums(x, na.rm = na.rm, dims = dims, …