当前位置: 首页 > 知识库问答 >
问题:

hudson.remoting.ProxyExcture:net.sf.json.JSONExcture:无效的JSON字符串

司寇羽
2023-03-14

在Jenkins中解析json文件时面临以下错误

def appconfig="./appSettings.json"
def testconfig= readJSON file: appconfig;

Json文件

{
  "Configuration": {
    "ConnectionString": "",
    "ConnectionString2": "",
    "UnProcessedHeaderFilePath": "\\\\edisilon01\\prod\\Reporting\\GET\\Header-{0:yyyyMMddHHmmss}.txt",
    "UnProcessedDetailFilePath": "\\\\edisilon01\\prod\\Reporting\\GET\\Detail-{0:yyyyMMddHHmmss}.txt",
    "ApplicationTriggerFile": "\\\\edisilon01\\PROD\\Reporting\\InputFiles\\Factor\\DR\\Factor.txt",
    "DB2ConnectionString": ""
  },
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console" ],
    "MinimumLevel": "Information",
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "File",
        "Args": {
          "path": "\\\\ECPCICS\\Files\\Generator\\log\\log-.txt",
          "rollingInterval": "Day",
          "outputTemplate": "{Timestamp:dd-MMM-yyyy HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"
        }
      }
    ]
  }
}

错误

hudson.remoting.代理异常:net.sf.json.JSONExcture:无效的JSON字符串在net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:143)在net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:103)net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84)在org.jenkinsci.plugins.pipeline.utility.steps.json.ReadJSONStepExecution.do在org.jenkinsci.plugins.pipeline.utility.steps.AbstractFileOrTextStepExecution.run(AbstractFileOrTextStepExecution.java:32)在org.jenkinsci.plugins.workflow.steps.SynChronousNonBlockingStepExecution.lambda$star0美元(SynChronousNonBlockingStepExecution.java:47)在java. util. con电流。执行器$RunnableAdapter. call(Executors. java: 511)在java. util. con当前。FutureWork. run(FutureTasks. java: 266)at java. util. con当前。ThreadPoolExecutor. runWorker(ThreadPoolExecutor. java: 1149)在java. util. con当前。在java. lang上运行(ThreadPoolExecator. java: 624)。线程.运行(线程. java: 748)

共有1个答案

暨弘懿
2023-03-14

“readJSON[…]可能由于前导和尾随空格而失败。" https://issues.jenkins.io/browse/JENKINS-55559?focusedCommentId=377706

建议的修复方法是使用

readJSON(text: readFile("./appSettings.json").trim())
 类似资料:
  • 问题内容: 我有一个无效的json字符串,如下所示, 我尝试使用JSON.parse将其转换为对象。但是,这不是有效的json字符串。是否有任何函数可以将这种无效格式转换为有效的json字符串或直接转换为对象? 问题答案: 如果您的示例语法与真实JSON相同,则JSONLint表示您需要对名称和值使用双引号。 仅在这种情况下,请使用以下替换调用: 但是,您首先应该尝试使用有效的Json。

  • 问题内容: 我用来解码以下json字符串。 这是一个用Python编写的演示: 解码器将抛出: 如何应对呢?预期的输出是: 问题答案: “ \ s”不是有效的JSON转义字符串。 根据json.org,仅以下转义有效 \“ \\ / \ b \F \ n \ r \ t \ u 四十六进制数字

  • 问题内容: 从2gis API中,我获得了以下JSON字符串。 但是Python无法识别它: 期望的分隔符:第1行第3646列(字符3645) 似乎用引号引起问题:“标题”:“中心“ ADVANCE”” 如何在Python中自动修复它? 问题答案: @Michael的回答给了我一个主意……这不是一个很漂亮的主意,但是它似乎可以工作,至少在您的示例中有效:尝试解析JSON字符串,如果失败,则查找失败

  • 从2GIS API中,我得到了以下JSON字符串。 但Python并不认可: 应为,分隔符:第1行列3646(字符3645) 我如何在Python中自动修复它?

  • 问题内容: 我想知道是否有一种方法可以解码类似JSON的字符串。 我得到了字符串: 这不是有效的JSON字符串,因此我无法直接使用python API对其进行解码。Python将仅接受字符串化的JSON字符串,例如: 其中属性被引用为字符串。 问题答案: 使用demjson模块,该模块具有在非严格模式下解码的能力。

  • 我正在尝试使用Google Charts API创建一个基于MySQL数据库的折线图。数据库包含温度和时间戳。 我使用getData.php获取数据并将其转换为JSON。 按照Google在此的说明:https://developers.google.com/chart/interactive/docs/datesandtimes#dates-times-and-timezones将时间戳转换为“