C#拼接JSON

本文介绍了在C#中如何处理与U8c系统对接时,通过Json字符串实现增删改查的新增接口,包括使用`new`和`List<T>.Add()`拼接嵌套对象,以及序列化数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、业务背景

最近项目需要与U8c对接,实现增删改查,借此机会,梳理一下C#解析Json字符串的问题。
这篇文章,先以新增接口为例。

二、新增接口

在这里插入图片描述
查看需要传入的json格式。

在这里插入图片描述
拼接json,无非就是{}[]的来回嵌套。
首先,我们先拼接主表parentvo{}

object parentvo = new
{
    cbiztype = dr["cbiztype"].ToString(),//业务流程
    cdeptid = dr["cdeptid"].ToString(),//采购部门
    coperator = dr["coperator"].ToString(),//制单人
    cpurorganization = dr["cpurorganization"].ToString(),//采购组织
    cvendormangid = dr["cvendormangid"].ToString(),//供应商管理
    tmaketime = dr["tmaketime"].ToString(),//制单日期
};

再拼接childrenvo []

  List<object> childrenvo = new List<object>();
   childrenvo.Add(new
 {
   
     cmangid = ""
     nordernum = ""
     ntaxrate = ""
     norgtaxprice = ""
 });

这里要学会new { }在这个地方的妙处。

最后拼接puordervo []

 List<object> orderlist = new List<object>();
 orderlist.Add(new { childrenvo = childrenvo, parentvo = parentvo });

绑定数据

  //绑定数据
  var inputdata = new
  {
      puordervo = orderlist
  };
 

序列化为json

 string strdata = JsonConvert.SerializeObject(inputdata);
 strdata = strdata.Replace("null", "");

三、总结

运用new,和list.add(),即可完成拼接嵌套。

### 如何在C#拼接JSON字符串 在C#中处理JSON字符串可以使用`Newtonsoft.Json`库,这使得操作JSON对象变得简单而直观。下面展示了一个例子来说明如何创建并拼接多个JSON字符串。 #### 使用StringBuilder类构建JSON字符串 当有简单的键值对时,可以直接通过`StringBuilder`类来进行字符串的连接: ```csharp using System.Text; // 创建一个 StringBuilder 实例用于高效地拼接 JSON 字符串 var stringBuilder = new StringBuilder(); stringBuilder.Append("{\"Id\":0,"); stringBuilder.Append("\"Name\":\"First Object\","); stringBuilder.Append("\"Value\":\"A\"}"); // 添加另一个 JSON 对象到现有的 JSON 中 string additionalJsonPart = "{\"AdditionalProperty\":\"Extra Info\"}"; string completeJsonString = stringBuilder.ToString().TrimEnd('}') + "," + additionalJsonPart.TrimStart('{') + "}"; Console.WriteLine(completeJsonString); ``` 这种方法适用于非常基础的情况,在实际应用中推荐更结构化的方式。 #### 利用JObject进行复杂的JSON组合 对于更加复杂的数据结构或者需要动态修改属性的情形下,则应该考虑采用`JObject`来自 `Newtonsoft.Json.Linq`命名空间的对象模型方法[^1]。 ```csharp using Newtonsoft.Json.Linq; // 定义第一个 JSON 对象 JObject jsonObject1 = JObject.Parse("{\"Id\":0,\"Name\":\"Json Object\"}"); // 定义第二个 JSON 片段作为待加入的新字段 JObject extension = JObject.Parse("{ \"NewField\": \"This is a new field.\" }"); foreach (var property in extension.Properties()) { jsonObject1[property.Name] = property.Value; } // 输出最终的结果 Console.WriteLine(jsonObject1.ToString()); ``` 上述代码片段展示了怎样利用`JObject`解析现有JSON文本,并向其中添加新的成员变量从而实现JSON字符串的有效拼接[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值