let str="{SPOT:0,0:10,1:0},{SPOT:1,0:5,1:5}";
let result=[{"SPOT":0,"0":10,"1":0},{"SPOT":1,"0":5,"1":5}];
如何将字符串转换为对象数组
答案 0 :(得分:0)
嗯,这不是我说的最好的方法,但仍然会解决你的问题:
let str = "{SPOT:0,0:10,1:0},{SPOT:1,0:5,1:5}";
let newStr = str.replace("},{", "}TempString{"); //append any dummy string in the existing one
let result = newStr.split("TempString");
console.log(result)

答案 1 :(得分:0)
我们可以使用template literals和replace一点使它看起来像一个数组。
当它看起来正确时,我们可以使用JSON.parse将其实际转换为数组
现在我们有一个数组,我们可以使用forEach遍历每个字符串并使它们看起来像对象,我们将再次使用replace。
一旦我们使每个字符串看起来像一个对象,我们可以push将它们变成一个空结果数组,我们必须在循环之外创建一个。
将所有这些放在一起看起来有点像这样:
@JmsListener(destination = "orderQueue")
public void receiveMessage(Message message) throws IOException {
Order order = (Order)jaxb2Marshaller.unmarshal(new StringSource(((TextMessage) message).getText()));
OrderDetails orderDetails = orderTransformer.transform(order);
orderService.saveOrder(orderDetails);
}
我希望你觉得这很有用。