我有這個字串:
['TEST1-560', '{"data":[{"price":0.0815,"volume":0.2,"car":"BLUE"}],"isMasterFrame":false}']
我想獲得始終是拳頭和“汽車”值的“TEST1-560”鍵。
你知道我如何實作這個嗎?
uj5u.com熱心網友回復:
const arr = ['TEST1-560', '{"data":[{"price":0.0815,"volume":0.2,"car":"BLUE"}],"isMasterFrame":false}']
const testValue = arr[0];
const carValue = JSON.parse(arr[1]).data[0].car;
console.log(testValue);
console.log('-----------');
console.log(carValue);
如果您的結構始終相同,則可以像上面那樣提取您的資料。
uj5u.com熱心網友回復:
這是一個非常非常磨損的代碼,但是如果您有一個字串并且想要通過它,它應該可以滿足您的目的。這絕對可以縮短和優化,但假設您具有相同的結構就可以了。:
// Your data
var z = `['TEST1-560', '{"data":[{"price":0.0815,"volume":0.2,"car":"BLUE"}],"isMasterFrame":false}']`;
var testName = z.substring(2).split("'")[0];
var dividedVar = z.split(",");
for (var ind in dividedVar) {
if (dividedVar[ind].split(":")[0] === '"car"') {
var car = dividedVar[ind].split(":")[1].split("}")[0].substring(1,dividedVar[ind].split(":")[1].split("}")[0].length-1);
console.log(car)
}
}
console.log(testName);
輸出:
BLUE
TEST1-560
在實際應用中,您不需要記錄結果,您可以簡單地使用變數testName, car。如果你想處理很多資料,你也可以把它放在一個函式中,例如:
function parseData(z) {
var testName = z.substring(2).split("'")[0];
var dividedVar = z.split(",");
for (var ind in dividedVar) {
if (dividedVar[ind].split(":")[0] === '"car"') {
var car = dividedVar[ind].split(":")[1].split("}")[0].substring(1, dividedVar[ind].split(":")[1].split("}")[0].length - 1);
}
}
return [testName, car]
}
這將回傳您可以使用的陣列中的變數值
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/358598.html
標籤:javascript
