【问题标题】:pandas to_json returns a string not a json objectpandas to_json 返回一个字符串而不是 json 对象
【发布时间】:2017-09-22 16:05:28
【问题描述】:

我正在使用以下 python 代码返回一个 json 对象:

df_as_json = df.to_json(orient='split')
return jsonify({'status': 'ok', 'json_data': df_as_json})

当我在 javascript 中读取对象时:

// response is xhr respose from server
const mydata = response.data
console.log(mydata.constructor.name)
// >Obj
const dfdata = mydata.json_data
console.log(dfdata.constructor.name)
// >String 

有没有办法将 df_as_json 作为父 response.data json 对象内的 json 对象发送?

【问题讨论】:

    标签: javascript python json pandas dataframe


    【解决方案1】:

    只要返回dict,让jsonify把dict转成字符串。

    df_as_json = df.to_dict()
    return jsonify({'status': 'ok', 'json_data': df_as_json})
    

    【讨论】:

      【解决方案2】:

      python中没有“json对象”这回事,这就是为什么.to_json返回json对象的字符串表示,python中的json本质上和dict一样,你可以使用to_dict方法反而。

      df_as_json = df.to_dict(orient='split')
      return jsonify({'status': 'ok', 'json_data': df_as_json})
      

      【讨论】:

        【解决方案3】:

        可以直接在python中使用json。

        # some JSON:
        x =  '{ "name":"John", "age":30, "city":"New York"}'
        
        # parse x:
        y = json.loads(x)
        return y
        
        # the result is a Python dictionary:
        print(y["age"])
        

        【讨论】:

          猜你喜欢
          • 2012-11-26
          • 2021-07-30
          • 1970-01-01
          • 2021-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-17
          • 1970-01-01
          相关资源
          最近更新 更多