以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  怎样获得乐税网返回信息的二级JSON对象  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=150203)

--  作者:riancel
--  发布时间:2020/5/23 16:32:00
--  怎样获得乐税网返回信息的二级JSON对象
我的写法:
Dim CurRow As Row = Tables("收款人名册").Current
Dim hc As New HttpClient("https://open.leshui365.com/api/invoiceInfoByQRCode?scanStr=" & CurRow("二维码") & "&token=" & Vars("tk"))
Dim jo As JObject = JObject.Parse(hc.GetData)
Dim server As String = jo("RtnCode")
Dim xiaofang As String = jo("invoiceResult")("salename")
Tables("收款人名册").Current("服务器联网") = server
Tables("收款人名册").Current("销方名称") = xiaofang

我的错误提示:
Cannot access child value on Newtonsoft.Json.Linq.JValue.

这是乐税网返回的信息示例:
{

   RtnCode:服务器是否正常标志,//服务器是否正常标志                

   resultMsg:查验结果成功,

   invoiceName:发票名称,

   resultCode:查询发票状态码,

   invoiceResult:

     {
    "invoiceTypeName":"上海增值税(电子普通发票)",//发票名称
    "invoiceTypeCode":"10",//发票类型 01:增值税专票,03:机动车销售统一发票,04:增值税普通发票,

                   10:电子普通发票,11:卷式普通发票,14:电子普通[通行费]发票,

                   15:二手车销售统一发票   

    "checkDate":"2018-03-02 18:16:04",//查询时间
    "checkNum":"1",//查验次数
    "invoiceDataCode":"0310017xxx11",//发票代码
    "invoiceNumber":"1224xxx4",//发票号码
    "billingTime":"2018-xx-01",//开票日期
    "purchaserName":"上海神州数码有限公司",//(购买方)名称
    "taxpayerNumber":"9131xxxxxxx62219",//(购买方)纳税人识别号
    "taxpayerAddressOrId":"上海市长宁区福泉路111号",//(购买方)地址.电话
    "taxpayerBankAccount":"招商银行上海分行人民广场支行xxx10515",//(购买方)开户行及账号
    "salesName":"上海xxx有限公司",//(销售方)名称
    "salesTaxpayerNum":"9131011855xxxx5F",//(销售方)纳税人识别号
    "salesTaxpayerAddress":"上海市青浦区徐泾镇xxx号xxxx",//(销售方)地址.电话
    "salesTaxpayerBankAccount":"工行徐泾支行1001741919000018783",//(销售方)开户行及账号
    "totalAmount":"42.45",//金额
    "totalTaxNum":"2.55",//税额
    "totalTaxSum":"45.00",//价税合计
    "invoiceRemarks":" ",//备注
    "taxDiskCode":"499099xxxx257",//机器编号
    "checkCode":"16533044xxxxxx1959",//校验码
    "voidMark":"0",//是否作废 0:正常,1:作废
    "isBillMark":"N",//是否为清单票  Y:是,N:否//可以根据该字段展示清单票和正常票

    "tollSign":"08",//收费标志字段(06:可抵扣通行费 07:不可抵扣通行费,08:成品油)

             支持票种:普通发票,专用发票,卷式发票,普通增值税(通行费),普通增值税(折叠费)
    "tollSignName":"成品油",//收费标志名称

    "invoiceDetailData":[//发票详情(清单票首行号为0,折扣清单票行号从-2开始,正常行号都是从1开始
        {
            "lineNum":"1",//行号
            "goodserviceName":"*物流辅助服务*收派服务费",//商品名称
            "model":" ",//型号
            "unit":"次",//单位
            "number":"1.0",//数量
            "price":"42.45",//价格
            "sum":"42.45",//金额
            "taxRate":"6%",//税率
            "tax":"2.55",//税额
            "isBillLine":"N" //是否为清单行 Y:是,N:否(是的时候,货物名称为“请详见货物清单”,“折扣额合计”,“原价合计”,可以不用做账)

                "zeroTaxRateSign":"",//零税率标志字段(空:非零税率, 1:税率栏位显示“免税”, 2:                       税率栏位显示“不征收”, 3:零税率)
            "zeroTaxRateSignName":""//零税率标志名称
        

           }
    ]

 }                

}          


--  作者:riancel
--  发布时间:2020/5/23 16:35:00
--  
一级的Dim server As String = jo("RtnCode")可以返回
就是需要二级的invoiceresuit下面的salename信息,和
totalAmount信息
Dim xiaofang As String = jo("invoiceResult")("salename")
乐税网站接口说明有一处写有:
5.invoiceResult字段是一个字符串,需要解析成json对象,才能使用。

单位审计说发票查验不足,要求加强发票和电子发票的审核管理
昨天有一个软件报价5800元管五年
结果一看foxtable + 乐税网接口可以解决,乐税接口每笔查询收费0.15元,划算些
[此贴子已经被作者于2020/5/23 16:38:46编辑过]

--  作者:有点蓝
--  发布时间:2020/5/23 16:59:00
--  
dim jo2 as JObject = JObject.Parse(jo("invoiceResult").tostring)
Dim xiaofang As String = jo2("salename")

--  作者:riancel
--  发布时间:2020/5/23 17:34:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:二维码查询发票.jpg
图片点击可在新窗口打开查看
成功了,谢谢
用二维码读取后就可以查询发票信息及真假了

--  作者:sloyy
--  发布时间:2020/5/24 1:28:00
--  
查询0.15 识别0.15 这个乐税网够狠!