web-dev-qa-db-ja.com

json読み取りエラーjson.decoder.JSONDecodeError:無効な\ escape

「config.json」ファイル設定を使用して、solrでモデル(train_and_upload_demo_model.py)をアップロードするコードを書いています。しかし、私は次のエラーを得ています:

json.decoder.JSONDecodeError:無効な\ escape:行11列34(文字461)これはここのトレースバックです:

D:\solr640\contrib\ltr\example>python train_and_upload_demo_model.py -c config.json

Traceback (most recent call last):
  File "train_and_upload_demo_model.py", line 182, in <module>
    sys.exit(main())
  File "train_and_upload_demo_model.py", line 158, in main
    config = json.load(configFile)
  File "C:\Users\Pankaj\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 299, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "C:\Users\Pankaj\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\Pankaj\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\Pankaj\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 11 column 34 (char 461)


content of config.json file

  {
    "Host":                     "localhost",
    "port":                     8983,
    "collection":               "techproducts",
    "requestHandler":           "query",
    "q":                        "*:*",
    "efiParams":                "efi.user_query='$USERQUERY'",
    "userQueriesFile":          "user_queries.txt",
    "trainingFile":             "exampleTrainingFile.txt",
    "trainedModelFile":         "exampleTrainedModel.txt",
    "trainingLibraryLocation":  "D:\liblinear-2.11",
    "trainingLibraryOptions":   "-q",
    "solrFeaturesFile":         "exampleFeatures.json",
    "solrFeatureStoreName":     "exampleFeatureStore",
    "solrModelFile":            "exampleModel.json",
    "solrModelName":            "exampleModel"
  }

どこでミスをしているのかを知ることができますか?

これは「trainingLibraryLocation」のためのエラーですか?: "D:\ liblinear-2.11"、構文??これは行番号ではないためです。 11

ディレクトリの場所を渡す他の方法はありますか?.

9
pankaj kashyap

\l in "trainingLibraryLocation": "D:\liblinear-2.11"はエスケープシーケンスのように扱われます。スラッシュ自体をエスケープしてみてください。 "D:\\liblinear-2.11"

6
SpaceBison