doumowu7371 2013-07-04 10:03
浏览 118
已采纳

不能在函数参数中使用document [0](uint8类型)作为[] byte类型

I'm trying to get a JSON string pulled from a document and into SimpleJson in GOlang, though I've run into a problem with the types (again..)

I get the following error:

cannot use document[0] (type uint8) as type []byte in function argument

and the line which bugs up is:

js, err := simplejson.NewJson(document[0])

Could anyone please help me fix this, and also is there a good place I can read up about types and conversions? Having come from php which has no types and python where the conversions are simple, GO is a bit confusing on this front.

Thanks :-)

  • 写回答

1条回答 默认 最新

  • doude4201 2013-07-04 10:54
    关注

    First of all, uint8 is simply an alias for byte. Therefor []uint8 is the same as []byte.

    What the error message tells you is that document[0] is of type uint8 and not []byte

    From your comment it is clear that document is a string. You should just convert it to []byte. If the JSON data in itself contains an array, you must first parse the document (pass it to NewJson) before you can retrieve the first value of the JSON array.

    So, instead change your code to:

    js, err := simplejson.NewJson([]byte(document))
    // error testing
    jsonArray, err := js.Array()
    // more error testing
    fmt.Println(jsonArray[0])
    

    (I assume you have imported the github.com/xiocode/toolkit/simplejson package. The only one I could find with simplejson.NewJson)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大