我正在尝试使用Visual Studio 2015,Microsoft Razor和C#与Json.Net 10.0.2更新JIRA问题。代码是:
<Deploy_Params>
<param>
<param1>p1</param1>
<param2>p2</param2>
<param3>p3</param3>
<param4>p4</param4>
<param5>p5</param5>
</param>
<param>
<param1>a1</param1>
<param2>a2</param2>
<param3>a3</param3>
<param4>a4</param4>
<param5>a5</param5>
</param>
<param>
<param1>b1</param1>
<param2>b2</param2>
<param3>b3</param3>
<param4>b4</param4>
<param5>b5</param5>
</param>
</Deploy_Params>
错误发生在:
enum class EC {a, b};
struct B {
constexpr B(EC ec): ec_(ec) {}
EC ec_;
};
struct A_base {
constexpr A_base(B b): b_(b) { }
B b_;
};
struct A: A_base {
static constexpr B bbb = EC::a;
constexpr A(B bbbb): A_base(bbbb) { }
};
int main()
{
A a1(A::bbb); // 1
A a2{A::bbb}; // 2
A a3 = A::bbb; // 3
A a4 = {A::bbb}; // 4
}
JSON是:
public String updateJiraIssue(object objJira2) {
JiraService.open("PUT", JiraUrl + "/rest/api/2/issue/NPI-24");
JiraService.setRequestHeader("Content-Type", "application/json");
JiraService.setRequestHeader("Accept", "application/json");
JiraService.setRequestHeader("X-Atlassian-Token", "nocheck");
JiraService.setRequestHeader("Authorization", "Basic " + GetEncodedCredentials());
var myJSON = Json.stringify(JiraJson);
JiraService.send(myJSON);
String response = JiraService.responseText;
JiraService.abort();
return response;
}
答案 0 :(得分:1)
JSON.stringify()
是一个javascript函数,在发出ajax请求之前,您可以从网页脚本调用该对象将对象序列化为JSON。
在C#中,System.Web.Helpers
命名空间中有一个Json
类,但其序列化方法称为Encode
,而不是stringify
。请注意,此类在内部使用JavaScriptSerializer
来完成其工作;它不依赖于Json.Net。
如果你想使用Json.Net,你应该改为呼叫JsonConvert.SerializeObject()
:
var myJSON = JsonConvert.SerializeObject(objJira2);