Перво-наперво, я впервые использую Angular 7; Я начал создавать приложение, используя Angular 7 с серверной частью C#, и мне нужно сериализовать объект в моем component/service, прежде чем отправлять его на свой controller/service.
Что-то типа:
export class jsonTest {
json: string;
obj: myType = {} as myType;
this.obj.someProperty = 1234;
this.obj.anotherProperty = 'test';
someMethod() {
this.json = //convert obj to json
anotherMethod(this.json);
}
}
Пытаясь понять, как этого добиться, я наткнулся на два популярных предложения: одно - JSON.stringify(), а второе - toJson().
Однако JSON.stringify() выдает ошибку компиляции, которую symbol JSON cannot be resolved, probably it is located in an inaccessible module.
Пробуя toJson(), он не распознается как какой-либо крючок.
Есть ли какой-то импорт, который мне не хватает? Просмотр документации по angular не проливает света на мою проблему.
На данный момент я подумываю о том, чтобы просто сериализовать JSON вручную, но мне бы очень хотелось этого избежать, если можно. Какие-либо предложения?
Вы используете Resharper?
@bambam, собственно говоря, я. Я знаю, что resharper, как известно, подходит для использования некоторого кода. Позвольте мне попробовать отключить resharper и вернуться к вам с тем, что происходит.
@ABOS из браузера: "{" someProperty ":" asdf "," anotherProperty ":" asdf "}"
ах, это не имеет отношения к angular :)
@bambam Resharper был виноват! Большое спасибо за помощь! Если вы хотите дать ответ, я помечу его как принятый.
@ABOS bambam смог дать мне столь необходимую информацию, которой мне не хватало! Спасибо за помощь!
Я нашел это из-за другого ответа. Вы можете просто закрыть свой вопрос как дубликат, тогда другие тоже будут перенаправлены.
@bambam, ах кк. Мне еще не приходилось этого делать. Еще раз спасибо!
Пожалуйста!

У вас есть ошибки в машинописном тексте. Попробуйте сделать это вместо этого.
export class JsonTest implements OnInit {
json: string;
obj: MyType = new MyType();
ngOnInit(): void {
this.obj.someProperty = 1234;
this.obj.anotherProperty = 'test';
}
someMethod() {
this.json = JSON.stringify(this.obj);
anotherMethod(this.json);
}}
На самом деле проблема заключалась в том, что Resharper выбрасывал ошибки в VS2016. В любом случае это был просто какой-то код psudo для примеров :) В любом случае спасибо!
каков будет результат, когда вы откроете окно отладки браузера и наберете
JSON.stringifyв консоли?