-2

可能重复:
在反序列化之前从我的 JSON 中删除奇怪的隐藏字符

我有一些 JSON,我需要先删除其中的一个元素,然后才能对其进行反序列化。

我有一些不良数据进入我的系统,我需要将其删除,这不是最好的解决方案,但这是紧急情况。

所以我希望从我的 JSON 中删除一个属性。

这是一个示例:

{
 "UDF4" : "",
 "ProductID" : 0,
 "Dimensions" : "",
 "weight" : 0,
 "Category" : "",
 "OrderID" : 0,
 "ManufacturerID" : 439,
 "CatalogCode" : "BARB",
 "ItemID" : "BARB13HIV",
 "Description" : "BARB13HIV",
 "BasePrice" : 0,
 "OrderItemID" : 0,
 "Price" : 44,
 "UDF5" : "�65",
 "UDF1" : "13HIV",
 "Qty" : 3,
 "UPC" : "BARB13HIV",
 "DiscountValue" : 0,
 "Cubes" : 0,
 "CatalogName" : "BARBARA COSGROVE LAMPS",
 "UDF2" : "",
 "ItemName" : "13\" Painted parchment ivory",
 "ModifierListID" : 0,
 "UnitOfMeasure" : "",
 "SortOrder" : 36,
 "SubTotal" : 132,
 "PhotoName" : "barb-13hiv",
 "OverrridePrice" : 0,
 "UDF3" : "",
 "AdditionalImageCount" : 0,
 "OrderGUID" : "3DFB932C-2F88-4C44-9417-251EABE1B863",
 "CompleteItemID" : "BARB13HIV",
 "PiecesBox" : 0,
 "SalesRepID" : 0,
 "Source" : "",
 "HasLineItemDiscount" : 0}

我需要删除此字符串的 UDF5 部分,同时保持 JSON 不变 - UDF 的值是可变的。

4

1 回答 1

0

假设我可以依赖您在上面显示的格式,并且它是每个正则表达式运行的格式之一,这可以像这样简单地完成

([\S\s]*\"])\"UDF5\" : \"[\S\s]*?\",([\S\s]*)

使用引用$1$2UDF5 字段之前和之后的部分的反向引用来写回。

如果有要删除的换行符,我现在不这样做。这可能会更好 - 如果其他人有时间更正或提供额外的答案。但为了让您获得紧急修复,我希望这会有所帮助。

于 2013-01-28T01:19:04.113 回答