以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- josn解析 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184929) |
-- 作者:ljh29206 -- 发布时间:2023/1/17 15:05:00 -- josn解析 JSON内容 为 : {"dowhat":"ycldnhq","tablename":"ycldd","rownumber":"YCLDDTM:YCLDD-2301170000"} 请教 json解析 问题1: 输入进foxtable 的字符串是 以上内容 , 引号都为双引号, 这个能否直接解析 Dim jo_in As JObject = JObject.Parse(str) Dim Dowhat As String = jo_in("dowhat").ToString() Dim tablename As String = jo_in("tablename").ToString() Dim rownumber As String = jo_in("rownumber").ToString() 这种方式报错。 问题2: 如果输出一个JSON 能否全部都用 双引号?
[此贴子已经被作者于2023/1/17 15:14:38编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/1/17 15:15:00 -- 提示什么错误?请贴出完整代码。 |
-- 作者:ljh29206 -- 发布时间:2023/1/17 15:24:00 -- Dim str As String = args(0) MessageBox.Show(Str) Dim jo_in As JObject = JObject.Parse(str) Dim Dowhat As String = jo_in("dowhat").ToString() Dim tablename As String = jo_in("tablename").ToString() Dim rownumber As String = jo_in("rownumber").ToString() 文本为 {"dowhat":"ycldnhq","tablename":"ycldd","rownumber":"YCLDDTM:YCLDD-2301170000"} 代码如上 图片请看下 我把双引号强制转换为单引号 再解析 也报同样的错误! [此贴子已经被作者于2023/1/17 15:32:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/1/17 15:34:00 -- 我测试没有问题啊,sqlweb函数只有这几句代码? |
-- 作者:ljh29206 -- 发布时间:2023/1/17 15:36:00 -- Dim str As String = args(0) str = str.Replace("""","\'") MessageBox.Show(str) Dim jo_in As JObject = JObject.Parse(str) Dim Dowhat As String = jo_in("dowhat").ToString() Dim tablename As String = jo_in("tablename").ToString() Dim rownumber As String = jo_in("rownumber").ToString() If Dowhat = "ycldnhq" Then Dim drf As DataRow = DataTables("YW_原材料订单").SQLFind("二维码 = \'" & rownumber & "\'") Dim rowguid As String If drf IsNot Nothing Then rowguid = drf("guid") Dim jo As New JObject Dim ja As New JArray jo("主表guid") = drf("guid") jo("供应商") = drf("供应商") jo("计划纳入日期") = drf("计划纳入日期") jo("备注") = drf("备注") jo("明细") = ja Dim drs As List(of DataRow) drs= DataTables("YW_原材料订单明细").SQLSelect("主表guid = \'" & rowguid & "\'") For i As Integer = 0 To drs.Count -1 ja.Add(New JObject) \'给数组添加两个对象成员 ja(i)("guid") = drs(i)("guid") ja(i)("产品品番") = drs(i)("产品品番") ja(i)("收容数") = drs(i)("收容数") ja(i)("单位") = drs(i)("单位") ja(i)("计划纳入数量") = drs(i)("计划纳入数量") ja(i)("计划纳入总数量") = drs(i)("计划纳入总数量") Next MessageBox.Show(jo.ToString) Return jo.ToString End If End If |
-- 作者:有点蓝 -- 发布时间:2023/1/17 15:41:00 -- 所以早就让您把完整代码发上来咯! jo("主表guid") = drf("guid") 改为 jo("主表guid") = drf("guid").tostring 或者 jo("主表guid") = cstr(drf("guid")) 其它地方也一样的改
|