2017-08-03 134 views
2

我想將自定義參數添加到已解析的Json對象。自定義參數由多個值組成,因此需要使用Json格式的對象數組。JProperty轉換爲字符串而不是對象數組

將它添加到jsonObj時,它被視爲整個字符串而不是數組。

var objs = new List<JObject>(); 
var jsonObj = JObject.Parse(JsonConvert.SerializeObject(myTable, jsonSettings)); 

// Add Custom Parameter 
jsonObj.Add(new JProperty("myArray", "[\"" + myTable.Col1 + "\", \"" + myTable.Col2 + "\"]")); 

objs.Add(jsonObj); 

電流輸出:

myArray:"[\"Col1Val\", \"Col2Val\"]" 

所需的輸出:

myArray:[\"Col1Val\", \"Col2Val\"] 
+0

我不明白當前和期望的輸出之間有什麼區別。它看起來像你想要的是刪除雙引號? –

+0

添加自定義參數時,我沒有多餘的引號,但是使用'new JProperty(「myArray」',...'它添加了引號並將參數視爲字符串,我需要更改哪些內容所以它不會添加額外的引號? – user0187409

回答

3

爲了使它工作,你應該使用正確的constructor

public JProperty(
    string name, 
    params Object[] content 
) 

所以,你應該如果寫這個你需要s撕毀陣列內容:

jsonObj.Add(new JProperty("myArray", myTable.Col1, myTable.Col2)); 
+1

謝謝!解決了這個問題。 – user0187409

+0

不客氣:) – CodeNotFound

相關問題