首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取属性名称上的轴心并列出属性值

获取属性名称上的轴心并列出属性值
EN

Stack Overflow用户
提问于 2018-06-22 00:57:29
回答 1查看 216关注 0票数 0

给定JSON中的这些数据:

代码语言:javascript
复制
[
        {
                "section": "charges",
                "lines": [
                        {
                                "cardtype": "MasterCard"
                        },
                        {
                                "sales": "$16.55"
                        },
                        {
                                "items": "10"
                        },
                        {
                                "cardtype": "Visa"
                        },
                        {
                                "sales": "$16.50"
                        },
                        {
                                "items": "39"
                        },
                        {
                                "cardtype": "Diners"
                        },
                        {
                                "sales": "40.00"
                        },
                        {
                                "items": "10"
                        }
                ]
        }
]

我想以属性名称为中心,列出属性值--也许是在DataTable中?

数据以Dictionary<string,object>()的形式收集

我需要按卡片类型汇总销售和商品数量。例如:

+---------------+-------+-------+ | cardtype | sales | items | +---------------+-------+-------+ | Mastercard | 16.55 | 10 | | Visa | 16.50 | 39 | | Diners | 40.00 | 10 | +---------------+-------+-------+ | Total | 73.05 | 59 | <- would be calculated after conversion. +-+

我已经测试了SelectTokens()方法,我可以拉出行的数组,但旋转被证明是困难的,因为字段名称将根据数据来源的不同而不同。

有什么想法吗?

EN

Stack Overflow用户

回答已采纳

发布于 2018-06-22 03:50:20

尝试使用以下代码

代码语言:javascript
复制
var files = JArray.Parse(JSON);
var recList = files.SelectToken("$..lines");
var str = JsonConvert.SerializeObject(recList);
var regex = new System.Text.RegularExpressions.Regex(@"(\{[^}]+)\},\{([^}]+)\},\{([^}]+)\}");
var output = regex.Replace(str, "$1, $2, $3 }");
System.Data.DataTable dt = (System.Data.DataTable)JsonConvert.DeserializeObject(str, (typeof(System.Data.DataTable)));

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50973904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档