c# - 如何使用 C# 将字符串合并到 JSON
问题描述
你好我想发布到 api 但不幸的是有问题合并,插入或添加字符串到它..请帮助
合并尝试 1:失败的 api 甚至无法读取 1。
[{"Key":"RatingName","Value":"testing from web"},{"Key":"RatingCode","Value":"1234"},{"Key":"RatingDesc","Value":"1234"},{"Key":"Levels","Value":"[{\"SortOrder\":\"1\",\"LvlName\":\"1\",\"LvlScore\":\"1\",\"LvlDesc\":\"1\"},{\"SortOrder\":\"12\",\"LvlName\":\"12\",\"LvlScore\":\"12\",\"LvlDesc\":\"12\"}]"}]
合并尝试 2 api 可以读取数据但不能读取级别值:(我只是将字符串插入 KeyValuePair 并将级别值作为字符串)并在发布到 API 之前使用 FormUrlEncodedContent
RatingName=testing+from+web&RatingCode=1234&RatingDesc=1234&Levels=%5B%7B%22SortOrder%22%3A%221%22%2C%22LvlName%22%3A%221%22%2C%22LvlScore%22%3A%221%22%2C%22LvlDesc%22%3A%221%22%7D%2C%7B%22SortOrder%22%3A%2212%22%2C%22LvlName%22%3A%2212%22%2C%22LvlScore%22%3A%2212%22%2C%22LvlDesc%22%3A%2212%22%7D%5D
当前的 JSON:
{
"RatingName":"testing from web",
"RatingCode":"1234",
"RatingDesc":"1234",
"Levels": ""
}
如何使用字符串插入级别:(下面是字符串而不是数组)
string = [{"SortOrder":"1",
"LvlName":"1",
"LvlScore":"1",
"LvlDesc":"1"},
{"SortOrder":"12",
"LvlName":"12",
"LvlScore":"12",
"LvlDesc":"12"}]
我的期望是:
{
"RatingName":"testing from web",
"RatingCode":"1234",
"RatingDesc":"1234"
"Levels": [{
"SortOrder":"1",
"LvlName":"1",
"LvlScore":"1",
"LvlDesc":"1"
},
{
"SortOrder":"12",
"LvlName":"12",
"LvlScore":"12",
"LvlDesc":"12"
}]
}
解决方案
尝试使用 Newtonsoft.Json。这是一个代码示例:
using System;
using Newtonsoft.Json.Linq;
public class Program
{
public static void Main()
{
JToken o1 = JToken.Parse("{\"RatingName\":\"testing from web\",\"RatingCode\":\"1234\",\"RatingDesc\":\"1234\",\"Levels\": \"\" }");
JToken o2 = JToken.Parse("[{\"SortOrder\":\"1\", \"LvlName\":\"1\", \"LvlScore\":\"1\", \"LvlDesc\":\"1\"}, {\"SortOrder\":\"12\", \"LvlName\":\"12\", \"LvlScore\":\"12\", \"LvlDesc\":\"12\"}]");
o1["Levels"] = o2;
Console.WriteLine(o1.ToString());
}
}
推荐阅读
- python - 将图像转换为numpy数组,翻转数组,然后变成图像
- scala - 有没有办法在通用对象上使用 .apply/.unapply ?
- node.js - API 接收未定义数据
- reactjs - 反应:我总是在我的后端发送以前的状态,即使是“previousState”
- bash - Bash:在 ls -A 之前验证空文件夹
- python - 通过 Python office365 API 下载 Sharepoint Docx 文件
- acumatica - Acumatica 中的其他 GS1 代码支持
- asp.net - 删除 Div 之间的垂直间距 - ASP.NET & Bootstrap
- pandas - 在情节中在一个普通条旁边创建一个堆叠条?
- html - 我们可以将数据从 mongoDB 发送到 HTML 吗?